面向对象基础知识(5)- 封装 继承 多态
来源:互联网 发布:生产工艺流程图软件 编辑:程序博客网 时间:2024/06/06 00:46
封装 继承 多态 这三个是面向对象的基本特征、有了这三个特征的编程语言、才是面向对象编程语言、如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——————
- 面向对象基础知识(5)- 封装 继承 多态
- Java基础知识:面向对象-封装、继承、多态
- Java面向对象(封装、继承、多态)
- 面向对象封装,继承,多态(一)
- 面向对象封装,继承,多态(二)
- 面向对象(封装,继承,多态)
- C++面向对象(封装,继承,多态)
- 面向对象编程(封装、继承、多态)
- 面向对象编程(继承,封装,多态)
- 面向对象--继承,多态,封装
- 面向对象 封装、继承、多态
- 面向对象:封装、继承、多态
- 面向对象,封装,继承
- (二)面向对象之封装,继承,多态(上)
- (三)面向对象之封装,继承,多态(下)
- 黑马程序员-面向对象(封装,继承,多态)
- JAVA菜鸟(二)面向对象之封装,继承,多态
- 面向对象之封装,继承,多态(上)
- py2exe使用方法
- (beginer)圆和圆相交 UVA 10969 - Sweet Dream
- 一步一步打造Vim+Eclipse+Eclim开发环境 -- 第一篇 Eclim安装
- bat文件浅析(一)
- 2014年2月15日 19:04:39
- 面向对象基础知识(5)- 封装 继承 多态
- Android照相功能驱动层中HAL的实现(基于OK6410开发板+OV9650摄像头)
- hdu 1217 && poj2240 Arbitrage 最短路
- Open .pdf on ubuntu
- NVelocity用法
- 报数游戏2
- 小P的故事——神奇的饭卡
- poj——2392——Space Elevator(多重)
- 国内一款不错的快递单号查询的API