
一.封装
1.定义
封装:将类的某些信息隐藏在类内部(private),不允许外部程序直接访问,而是通过该类提供的公共属性(public)来实现对隐藏信息的操作和访问
快捷键:prop+TAB propfull+TAB
2.封装的好处
1、隐藏类的实现细节
2、只能通过规定属性访问数据
3、方便加入控制语句
4、方便修改实现
二.继承
2.1 定义
继承:一个类具有另一个类的属性和方法,这个类叫子类(派生类),另一个类叫父类(基类、超类)
继承的关键符号 :(冒号)
2.2 特征:
1、子类继承了父类的属性和方法(public、protected),但是构造方法不能被继承
2、子类使用构造方法调用父类构造方法用 base()
3、创建子类对象时,系统默认先调用父类构造方法,然后再调用子类构造方法
4、子类使用父类的属性和方法用 base 关键字(public、protected)
2.3 重写(override)
重写:在子类和父类中,子类中的方法名称和父类方法名称相同,参数相同
2.4 修饰符(访问权限)
public(本类、外部类) private(本类) protected(本类 子类) internal(本类 子类)
2.5 虚方法:virtual
1.定义
在某基类中声明 virtual 并在一个或多个派生类中被重新定义的成员方法称为虚方法。
虚方法的作用就是实现多态性(Polymorphism),多态性是将接口与实现进行分离。
在基类的函数中声明关键字virtual,就可以在其派生类中通过关键字override重写该方法。重写后的virtual方法依旧是virtual方法。
当有一个定义在类中的方法需要在继承类中实现时,可以使用虚方法。
2.虚方法与一般方法的区别:
1、写法不同
2、一般方法在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死的!而虚方法在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的方法。
2.6 sealed关键字
C#提供了一个sealed 修饰符,此修饰符会阻止其他类从该类继承。
2.7 使用继承的好处
(1)继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。(拓展新功能)
(2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。
(3)继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。
(4)继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。
三.封装
3.1 定义
多态 :多态是同一个行为具有多个不同表现形式或形态的能力。
3.2 实现多态的两个要素
1)子类重写父类方法
2)使用父类的类型(子类转换为父类:向上转型)
向上转型:将子类对象转为父类对象。此处父类对象可以是接口或抽象类。
转化后的父类对象具有父类所有方法,若方法被子类重写override,那么实际调用时,调用的是重写后的实现。
向下转型:把父类对象转为子类对象。
转化后的子类对象,跟一般的继承子类对象一样。具有子类所有方法(包括重写方法)+父类所有方法(被重写的方法,按重写的算。)
3.3 使用多态的好处
1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的
可复用性。//继承
2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护
性。 //多态的真正作用
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222705.html原文链接:https://javaforall.net
