面向对象编程: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)
面向过程
:根据业务逻辑从上到下写代码。
面向对象
:将数据与函数绑定到一起,进行封装,这样能够更快速地开发程序,减少了重复代码的重写过程。
比较面向对象编程和面向过程编程,可以得到面向对象编程的以下优点:
概念及术语: