您的位置:首页 > 其它

面向对象基础知识(5)- 封装 继承 多态

2014-02-15 19:39 721 查看
封装 继承 多态 这三个是面向对象的基本特征、有了这三个特征的编程语言、才是面向对象编程语言、如C#


封装:

特性
1每个对象包含他操作的所有信息
2不必依赖其他对象来完成某些操作
好处
减少耦合(减少关联)
类内部可以自由修改
对外接口清晰

继承:

如果有A、B两个对象、可以描述为B是A、则表明B可以继承A
猫是哺乳动物、、猫(继承)哺乳动物(被继承)

子类——继承者
父类——被继承者

继承者还可以理解为是被继承者的特殊化、因为他除了有被继承者的特性、还具备独立的个性

记住:
1.子类有父类非private的属性和功能
2子类具有自己的属性和功能、即子类可以扩展父类没有的属性和功能
3子类可以以自己的方式实现父类的功能(方法重写)

修饰符:
Protected 只对子类公开、其他类不能调用


子类继承父类的成员有:方法、域、属性、时间、索引指示器
但是不继承构造方法、构造方法只能调用、调用父类的构造方法、用base关键字

例子——
父类




子类——猫





优点:
改代码直接改父类、其他子类都改了、不用一个个去改
缺点:
改代码、会影响子类、所以在继承的时候要考虑清楚

继承不可多用、继承是强耦合关系——继承是把双刃剑

多态:

父类写一个虚拟方法、而继承的子类重写这个方法、每个子类都有不同的实现方法、这就是多态

特性:
1子类以父类的身份出现
2子类用自己的方式来实现父类的方法
3子类出现时、子类特有的属性方法不能使用

虚拟方法:可以被子类重写这个方法、关键字virtual
方法重写:子类从写父类的方法、关键字overridevirtual

在Animal类里写入一个虚拟方法



在子类里重写方法




动物报名按钮 和叫声比赛按钮







多态总结
1.写的时候
父类的方法要声明虚拟、添加关键字virtual
子类写父类的方法要叫重写、添加关键字override
2用的时候
生命要声明父类
实例化要实例化子类
其实
就是用多个子类不同功能的方法、来实现父类的一个方法、方法名相同、但是实现的时候会选择多个子类方法中的一个执行、(根据实例化时候、实例化的子类来区分)

面向对象、面向生活

——————chenchen——————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: