面向对象3大特性:封装、继承、多态。

面向对象2大原则:

1)里氏替换原则:子类可以给父类,父类不能赋给子类。

2)开放封闭原则: 封装变化,降低耦合。(对扩展开放,对修改封闭)

****************

多态定义:允许子类类型的指针赋值给父类类型的指针。父类可以成为一种子类,实现这种子类的操作。

多态实现:1)虚函数 overwrite  2)抽象类:abstract class,简化父类的定义,在不需要创建父类对象的场合,可以使用抽象类

2)接口

多态目的:可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化

***************

子类可以同时继承自父类和接口,这个子类可以赋值给父类,也可以赋值给接口对象。

最新文章

  1. JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
  2. nodejs ejs 请求路径和静态资源文件路径
  3. 【BZOJ-1096】仓库建设 斜率优化DP
  4. iOS - OC 术语表
  5. c语言数组初始化问题
  6. 【Centos】系统服务自启动配置
  7. js监听文本框值变化事件,就oninput & onpropertychange & onkeyup & onchange的区别
  8. H5WebSocket消息推送
  9. android 开发常见问题
  10. .net 笔试面试总结(1)
  11. Python 函数的描述
  12. 手把手教你利用Python自动下载CL社区图片
  13. 037 对于HIVE架构的理解
  14. Java NIO学习笔记---Channel
  15. 【Properties】在Properties中配置List
  16. 玩一下C#的语音识别
  17. 【Python】torrentParser1.01
  18. Suse系统中不使用SFTP的话,还可以使用lrzsz。
  19. 分布式消息系统Kafka初步(一) (赞)
  20. jdbc之存储过程的调用和调用方法

热门文章

  1. 【APP自动化】Appium Android 元素定位方法 原生+H5
  2. 紫书 例题 10-7 UVa 10820 (欧拉函数)
  3. 题解 CF896C 【Willem, Chtholly and Seniorious】
  4. 洛谷 P1824 进击的奶牛
  5. [Recompose] Make Reusable React Props Streams with Lenses
  6. UVALive - 6266 Admiral 费用流
  7. HDU 4372 Count the Buildings 组合数学
  8. Weka中数据挖掘与机器学习系列之基本概念(三)
  9. RMQ算法 以及UVA 11235 Frequent Values(RMQ)
  10. centos中mysql 安装以及配置,建库