面向对象编程:Object Oriented Programming,简称 OOP,是一种程序设计方法。OOP 把对象作为程序的基本单元,一个对象包含了数据和操作数据的方法。Python 就是一种面向对象的语言,支持面向对象编程,在其内部,一切都被视作对象。
面向对象编程出现以前,结构化程序设计是程序设计的主流,结构化程序设计又称为面向过程编程。在面向过程编程中,问题被看作一系列需要完成的任务,函数用于完成这些任务,解决问题的焦点集中于函数。其中函数是面向过程的,即它关注如何根据规定的条件完成指定的任务。
示例:
'''
面向对象案例:
老张开车去东北
案例分析:
对象有:人
交通工具
地点
'''
#定义人的对象
class Person:
#初始化人的属性
def __init__(self,name,card):
self.name = name
self.card = card
#定义人使用交通工具的方法
def drive(self,tool,place):
if self.card:
tool.driving()
print("{}开{}去{}".format(self.name,tool.name,place.name))
else:
print("北京第三安全局提醒您:道路千万条,安全第一条,行车不规范,亲人两行泪")
#定义交通工具的对象
class Traffic_Tools:
#初始化交通工具的属性
def __init__(self,name,color):
self.name = name
self.color = color
#定义交通工具的启动方法
def driving():
print("{}已经启动".format(self.name))
#定义地点的对象
class Place:
#初始化地点的属性
def __init__(self,name):
self.name = name
lao_zhang = Person("老张",True)
tool = Traffic_Tools("Jeep","灰色")
place = Place("东北")
lao_zhang.drive(tool,place)面向过程:根据业务逻辑从上到下写代码。
面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速地开发程序,减少了重复代码的重写过程。
比较面向对象编程和面向过程编程,可以得到面向对象编程的以下优点:
概念及术语: