6-面向对象

Posted Aline

tags:

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

编程范式:面向过程,面向对象

面向过程 VS 面向对象

面向过程编程

核心是过程二字

过程指的是解决问题的步骤,程序从上到下一步一步执行,设计思路是:将大问题分解成一个一个小问题或子程序,再将子程序 分解成小问题,直到借到足够简单的问题的思想

应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等。

面向对象编程

核心是对象二字OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,解决扩展性

应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方

两者的优缺点:

面向过程编程

优点:复杂度的问题流程化,进而简单化

缺点:难维护,改一个组件,牵一发而动全身

 

面向对象编程

优点:易维护,易扩展,开发效率高

缺点:复杂度高,只有经过实例化后的对象交互才知道结果

面向对象的特征:

类,对象,封装,继承,多态

类(class)

一类有相同属性的对象的模型,在类中定义对象的相同属性和方法

 

类有两种属性:数据属性和函数属性

 

1. 类的数据属性是所有对象共享的,在obj.name会先从obj自己的名称空间里找name,找不到则去类中找,类也找不到就找父类...最后都找不到就抛出异常 

 

2. 类的函数属性是绑定给对象用的,类中定义的函数(没有被任何装饰器装饰的),主要是给对象使用的,虽然所有对象指向的都是相同的功能,但是绑定到不同的对象就是不同的绑定方法

 对象(Object

 

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

6-面向对象

[6]面向对象编程

面向对象的思考过程

第6篇-JAVA面向对象Ⅱ

python高阶6 面向对象重新梳理

python 6 面向对象