Python学习笔记——CSDN学习记录五:面向对象编程概述

根据代码组织方式的不同,编辑语言可分为以下两种:
面向过程语言:分析出解决问题所需要的步骤,用函数将这些步骤一步一步实现,使用时再依次调用,类似流水线工作原理。
面向对象语言:把构成问题事务分解成各个对象,依靠各个对象之间的交互推动程序执行,实现问题的解决。
· 建立对象的目的不是完成一个步骤,而是描述某个事物在完整解决问题步骤中的行为。

OOP(面向对象编程)的产生:
使用传统面向过程编程机制构造系统时,在重用、维护、扩展等方面会出现诸多问题,且逻辑过于复杂,代码易读性差。人们开始思考能不能模拟现实环境,以人类解决问题的方法、思路、习惯和步骤来设计相应的应用程序,面向对象编程思想就产生了。
· 面向过程编程是根据业务逻辑从上到下写代码。典型如C语言等。
· 面向对象编程是对变量和函数进行分类和封装,典型如C++、Java、C#等。
· Python提供了面向对象、面向过程的良好支持,但总体更偏向于面向对象编程。

面向对象产生的原因主要有以下两点:
1.面向过程编程机制无法解决复杂程序的可维护性和可扩展性问题;
2.面向过程编程机制背离了人们观察和解决问题的基本思路。

OOP核心思想:
把构成问题的各个事物分解成能够完整描述该实体功能的封装类,通过对象的交互解决问题。
· 对象作为程序的基本单位,将程序和数据封装于其中,以提高程序的重用性、灵活性和可扩展性。
· 类是创建对象的模板,而对象是类的实例化(一个类可以创建多个对象)。
·· 类是对象实体的抽象,是泛指,如动物、植物等。
·· 对象是类的一个实例,是特例。如猫、狗等。

采用面向对象思想编程时,可依次采用以下步骤:
1.分析哪些动作是由哪些实体发出的;
2.定义这些实体并为其增加相应的属性和功能;
3.让实体去执行相应的功能或动作。

OOP特征:
1.封装:找到变化并且把它封装起来,就可以在不影响其他部分的情况下修改或扩展被封装的变化部分,此为所有设计模式的基础。
· 封装解决了程序的可扩展性。
2.继承:子类继承父类,可以继承父类的方法及属性,实现了多态以及代码的重用。
· 继承解决了系统的重用性和扩展性。
3.多态:接口的多种不同的实现方式即为多态,接口的主要目的是为不相关的类提供通用处理服务。
· 多态实现了系统的可维护性和可扩展性。

你可能感兴趣的:(Python,学习)