面向对象

Posted wxylog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。

面向过程:

   把大象装冰箱步骤;   打开冰箱→把大象放到冰箱→关上冰箱

面向对象:

  冰箱对象:   开关门动作

  大象对象:   进入冰箱的动作

  执行对象: 负责操作冰箱和大象

 

三大特性:

  封装:

    1. 数据安全: 一个类就是一个封装, 一个方法就是一个封装; 在内部可以隐藏自己的实现; 只对外部公开需要公开的内容;

    2. 稳定:  只要保证接口不变, 内部修改, 不会影响外部调用

    3. 提高重用性: 

    4. 分工合作, 职责分明: 划分不同的模块, 外部公开统一的接口, 相互间进行调用;方便构建大型复杂的系统

  继承: 

    1. 去掉重复代码

    2. 可以实现多态: 基类可以代替任何子类实现;

  多态:

    1. 相同的操作, 不同的实现: 比如方法的重载, 接口+实现类, 抽象+实现类

    2. 抽象类和接口都是运行时多态

 

如何选择抽象类和接口:

  抽象类:  父类+约束; 可以完成通用实现; 单根性;  描述 is a

  接 口:  纯粹的约束; 必须下端自己实现;  描述 Can do

  //IBaseService--BaseService--UserService

抽象方法和虚方法:

  需方使用virtual标记, 带有默认实现;

  抽象方法使用abstract标记, 不允许带有任何实现;

  如果子类覆写的时候, 标记了sealed, 则接下来不可以继续覆写

 

以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章

224 面向对象编程介绍,面向过程与面向对象

面向对象-面向对象和面向过程的区别

面向对象分析与设计面向对象设计包括哪些内容

面向对象

面向过程面向对象及面向对象的三大特征

Python面向对象学习 1 (什么是面向对象,面向对象的应用场景)