里氏转换,继承,多态
描述一个对象,从字段和方法两个方面进行讨论常常讨论的属性实际上就是一个方法字段的途径(本质方法)
访问字段 实际上就是为其赋值,或读取其中的数据
属性分为、: 只读属性 只写属性。,可读可写属性
属性不具备存储数据的能力,只能通过访问数据
自动属性 当你使用自动属性的时候,系统会自动的生成一个后台的字段,用来存储数据
关于继承的构造方法
1构造方法是干么用的
就是为字段赋值(初始化)
没有初始化的字段
数字类型 0
字符类型 空 0
bool false
string null
继承是用于编写代码,方便程序员组织代码完成编程的一个方式
默认情况下,都是调用父类的无参构造方法
2继承中实例化对象。会调用父类的构造方法吗
代码执行在计算机中永远都是机器码 010101
我们所说的继承只是从编码的逻辑来入手(**)
所有的非私有成员都被继承下来了
处理构造方法与私有成员有被继承,其他的都继承下来了、
在北村中,即使私有字段,子类对象中已久存在对应的数据(内存级别)
如果父类构造方法有重载呢
构造函数是绝对没有继承下来的
2个问题“
构造函数有什么用
父类调用子类的顺序并且调用的顺序我能清楚
方法的重载(方法原型)
1去掉所有的方法前的东西
2 去掉括号中所有的参数名与括号
使用pritected
this、base同一个含义
作用是为了表示该成员的类的字段,方法,属性
this与base只是为了方便程序员编码
winforms
添加
里氏转换原则
1子类直接赋值给父类(子类直接可以转化给父类)
2志向子类的父类,可以强制转化为对应的子类
is运算符,用来判断父类对象可否转化为子类对象
对象is类型名
如果可以转化
重写基类的方法
第一件事情 父类的方法值是为了提供一个借口(一个协议,目的是为了子类去实现)
在父类的方法前加上一个
什么是多态
就是统一调用