c#类 学习笔记
来源:互联网 发布:知乎 桃花灼灼宜室宜家 编辑:程序博客网 时间:2024/06/03 17:31
c#类 学习笔记(v1.0)
1.类是抽象的概念,对象是客观存在的实体,都体现了分类分析的方法;
类是有子类的,对象没有子对象;
对象本生可能是一个类??
面向对象的方法有三大特性,封装,继承,多态;封装提高代码重用,提高效率;让程序结构更清晰;继承则是将子类与父类相同的一些元素以继承的形式减少代码重用,保证代码的条理性;多态其实是方法的重用,每个子类之中有共同特征的方法进行重写,虚拟化,减少代码量,保证程序的可扩展性;
2.必须创建对象,来实例化对象
3,定义好一个类后默认会有一个无参的构造函数
4,当为类手动编写一个构造函数后会覆盖原来的默认构造函数
5,同一命名空间下不能有重名的类
6,类中声明的变量成为成员变量,可以不赋值,因为会有默认值
在方法中声明的变量为局部变量,需要声明并且赋值才能使用
7,变量不能重复声明,但可以重复赋值
8,成员变量课以和成员变量重名但是局部变量之间不能重名
9,继承具有单根性,一个对象只能继承于一个父类;
继承还有传递性,家族性
10,里氏替换原则,需要一个父类时,给一个子类的对象是可以的;
11,当一个子类继承于父类,盖子类中的构造函数在自己被调用之前需要调用父类中无参构造函数,若没有那么会报错;
此时,可以在父类之中加一个无参构造函数,
12,private 只能在当前类中访问
protected 当前类内部以及所有子类的内部
internal 当前程序集内部
protected internal同时又protected和internal的功能
public 任何一个地方都能访问
类之中成员默认下是private
类默认下是internal
命名空间下直接定义的类型只能是public或者internal
13,访问性级别的问题;
子类的访问性级别不能高于父类,防止泄露父类信息
方法与其参数,返回值的可访问性应当一致;属性也是同理;
14,多态(虚方法)
1,将父类中的对应方法前加virtual关键字
2,在子类中方法前加上override
类是有子类的,对象没有子对象;
对象本生可能是一个类??
面向对象的方法有三大特性,封装,继承,多态;封装提高代码重用,提高效率;让程序结构更清晰;继承则是将子类与父类相同的一些元素以继承的形式减少代码重用,保证代码的条理性;多态其实是方法的重用,每个子类之中有共同特征的方法进行重写,虚拟化,减少代码量,保证程序的可扩展性;
2.必须创建对象,来实例化对象
3,定义好一个类后默认会有一个无参的构造函数
4,当为类手动编写一个构造函数后会覆盖原来的默认构造函数
5,同一命名空间下不能有重名的类
6,类中声明的变量成为成员变量,可以不赋值,因为会有默认值
在方法中声明的变量为局部变量,需要声明并且赋值才能使用
7,变量不能重复声明,但可以重复赋值
8,成员变量课以和成员变量重名但是局部变量之间不能重名
9,继承具有单根性,一个对象只能继承于一个父类;
继承还有传递性,家族性
10,里氏替换原则,需要一个父类时,给一个子类的对象是可以的;
11,当一个子类继承于父类,盖子类中的构造函数在自己被调用之前需要调用父类中无参构造函数,若没有那么会报错;
此时,可以在父类之中加一个无参构造函数,
12,private 只能在当前类中访问
protected 当前类内部以及所有子类的内部
internal 当前程序集内部
protected internal同时又protected和internal的功能
public 任何一个地方都能访问
类之中成员默认下是private
类默认下是internal
命名空间下直接定义的类型只能是public或者internal
13,访问性级别的问题;
子类的访问性级别不能高于父类,防止泄露父类信息
方法与其参数,返回值的可访问性应当一致;属性也是同理;
14,多态(虚方法)
1,将父类中的对应方法前加virtual关键字
2,在子类中方法前加上override
关键字
0 0
- c#类 学习笔记
- c#学习笔记密封类
- C#学习笔记-定义类
- C#学习笔记004-类
- C#学习笔记 ----C#变量
- C#学习笔记(一):类
- C#学习笔记二 字符、字符串类
- C#学习笔记—类1
- C#学习笔记06:类继承
- C#学习笔记之八:类
- c#学习笔记之时间类
- C#学习笔记-定义类成员
- C#学习笔记之File类
- C#学习笔记类和结构体
- c#学习笔记(1)
- C#学习笔记
- C# 学习笔记
- C#学习笔记(一)
- Docker Getting Start: Related Knowledge Docker
- JavaScript 闭包环境很奇特 - 相当于类与实例的关系?!
- Web压力测试常用的工具有哪些
- hadoop 多目录输入,map到reduce如何排序
- Linux命令 之 cut
- c#类 学习笔记
- javaweb监听器记录应用的在线人数[从学习到工作(四)]
- VC编辑框内显示不同的字体
- hdu 1088 Write a simple HTML Browser(水题)
- Latex 如何书写算法流程
- Altera中TCL脚本管脚锁定的编写
- 需求引导设计 切莫教条主义
- 形态学-膨胀-C代码
- 求两个整数集合的交集(Java代码,索引法)