美文网首页
c#面向对象编程

c#面向对象编程

作者: 青木川_ | 来源:发表于2019-02-19 22:44 被阅读7次

面向对象的编程,其实就是用现实中的思维方式来编程。

面向对象编程的3个方式:封装,继承,多态。

而提到面向对象编程就必须提到类,和对象。

类:物以类聚,人以群分。类,就是一类,是用户自定义的数据类型。

但是我们需要知道的是先有的对象,后有的类。

构造函数特点是:函数名和类型相同,没有返回值。构造函数的修饰符可以是private,protected,但是最好好public,这样才可以new.

重载的特点是:方法名相同,参数不同。

定义好一个类后,不写构造函数也会有一个无参数的构造函数。

挡位类手动写一个构造函数后,会覆盖默认的那个构造函数。

报异常比较消耗资源。

//DRY原则:DON'T Repeat Yourself 不用重复你自己。

private void btnShiTou_Click(object sender, EventArgs e)

EventArgs e的意思是:事件相关联的信息。比如:键盘按下的是哪个键。

object sender:表示是谁的事件。

任意类型都能是object类

参数与返回值没有任何关系。

变量的作用域:是指离声明语句最近的,并且包含大括号之内的。

在类中直接声明一个变量,叫做成员变量。类的成员变量声明后可以不赋初值,因为会有默认值。

在方法中使用的变量叫做局部变量,必须赋值,才能使用。

什么是封装?

其实封装就是遥控器,我们只需要知道怎么换台,不知道知道遥控器里面是怎么设计的。类和对象就是封装的体现。

1.属性封装成字段。

属性封装

2.方法的多个参数封装成一个对象。

参数封装成对象

3。把一堆代码封装成一个对象。

继承(类与类之间的关系)

父类: Base Class    Parent Class

子类:Derived Class   Child Class

继承的好处是:

1.代码重用

2.多态。增加程序的可扩展性,和灵活性。

LSP里氏替换原则:需要父类类型的时候,给一个子类对象也是可以的。

类图

当一个子类继承父类之后,该子类中所有构造函数默认情况下,在自己被调用之前,都会调用父类无参数的构造函数,如果父类中无参数构造函数,则提示报错。

解决方法:

1.在父类中添加一个无参数的方法。

2.用base:

构造函数是不能被继承的。

ctor快速创建一个构造函数

使用this来调用本类中的构造函数

使用this

访问修饰符

在这种情况下,this,base的作用是一样的。

参数传递方式有两种:

1.值传递;默认的参数传递方式就是值传递。

2.引用传递:ref。传递栈本身的地址。(为变量起个别名)

overload是方法的重载。一个类之间的方法

override是方法的重写。父子类之间的方法

重载

接口:接口就是一种规范。像内存条插电脑一样,这里的插口是:规范。要求笔记本卡槽做成多大的多宽的。内存条是实现接口的类。可以应用在多个电脑,体现了多态。

而接口的意义是为了实现多态。接口:就是光说不做。

interface表示接口。并且接口的名称以“I”开头,这样起名字的好处是让程序员一眼就知道他是接口。并且以able结尾。

接口中的成员不能有任何修饰符

一个类只能继承一个类,但是可以有多个接口

接口

访问级别约束

1.子类访问的级别不能比父类高。

方法的访问修饰符必须和方法一致。

实现多态之虚方法virture

相关文章

  • 全面理解面向对象的JavaScript

    面向对象是一种编程思想,Java、C#等都以“类”作为面向对象的实现方式。从而可能阻碍大家对于面向对象编程的语言的...

  • JavaScript 面向对象编程

    学习笔记,非原创。谢谢 JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样...

  • js 面向对象 --构造函数执行机制

    /* * JS是一门编程语言(具备编程思想) * 【面向对象】 * JS/JAVA/PHP/C#/PYTHON...

  • Head First 深入浅出系列 电子书

    从这本书能学到什么?《Head First C#》是学习面向对象编程、C#和VisualStudioIDE的绝佳途...

  • Python类和构造方法

    1.面向对象介绍 描述:是函数的一个变种,在Python中,有函数式编程和面向对象编程,java和C#之类只能把函...

  • Python学习

    第十一天 上次已经简单说了Python面向对象编程,其实大多数面向对象编程语言Java、C#等都具备 3 个典型特...

  • JavaScript面向对象编程

    JavaScript的面向对象编程和大多数其他语言,比如Java、C#的面向对象是不太一样的,熟悉Java的明白面...

  • c#面向对象编程

    面向对象的编程,其实就是用现实中的思维方式来编程。 面向对象编程的3个方式:封装,继承,多态。 而提到面向对象编程...

  • Python和其它27种编程语言

    27 种语言 过程型编程语言: C, Rust, Cython 面向对象数据建模语言: Java, C#, Eif...

  • C#学习总结

    C# 是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。C# 是 .Net...

网友评论

      本文标题:c#面向对象编程

      本文链接:https://www.haomeiwen.com/subject/gcgzeqtx.html