思维导图
面向对象编程概述
根据代码组织方式的不同,编程语言可以分为俩种,分别是面向过程语言和面向对象语言。
1.面向过程语言:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再依次调用,类似流水线的工作原理。
2.面向对象语言:面向对象是把构成问题事务分解成各个对象,依靠各个对象之间的交互推动程序执行,进而实现问题的解决。建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在完整解决问题步骤中的行为。
OOP的产生
面向对象编程的历史:
使用传统的面向过程编程机制构造系统时,在重用、维护、扩展等方面会出现诸多问题,且逻辑过于复杂,代码易读性差。人们开始思考能不能模拟现实环境,以人类解决问题的方法、思路、习惯和步骤来设计相应的应用程序。面向对象的编程思想(Object-Oriented Programming,OOP)就产生了。
面向对象诞生的原因:
1.面向过程的编程机制无法解决复杂程序的可维护性和可扩展性问题。
2.面向过程的编程机制背离了人们观察和解决问题的基本思路。
总结:面向过程的编程是根据业务逻辑从上到下写代码,举例:c语言等。面向对象的编程是对变量和函数进行分类和封装,让我们能够加快研发速度,典型如C++、Java、C#等。对这两种编程机制,Python均提供了良好支持。我们可以清楚的了解到,Python更偏向于成为面向对象编程的编程语言。
OOP核心思想
概念:面向对象编程的核心思想是把构成问题的各个事物分解成能够完整描述该实体功能的封装类,并通过对象的交互完成问题的解决。
1.对象作为程序的基本单位,将程序和数据封装于其中,以提高程序的重用性、灵活性和可扩展性。
2.类是创建对象的模板,而对象是类的实例化。一个类可以创建多个对象。
(类:是对实体的抽象,对象:是类的一个实例)
当我们在采用面向对象思想编程时,可以根据下面的步骤进行:
1.分析哪些动作是由哪些实体发出的;
2.定义这些实体,为其增加相应的属性和功能;
3.让实体去执行相应的功能或动作。
OOP特征
opp共有三个特征,分别为:封装,继承和多态。
封装:找到变化并且把它封装起来,就可以在不影响其它部分的情况下修改或扩展被封装的变化部分,这是所有设计模式的基础。封装解决了程序的可扩展性。
继承:子类继承父类,可以继承父类的方法及属性,实现了多态以及代码的重用,解决了系统的重用性和扩展性。
多态:接口的多种不同的实现方式即为多态。接口的主要目的是为不相关的类提供通用处理服务。这实现了系统的可维护性和可扩展性。