面向对象与面向过程

时间秒杀一切 提交于 2019-12-02 23:33:58
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
 
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少,至少现在还没有发现。起初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计。

 
 
面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。

 
 
 
 
 
Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。
 
代码示例
class Employee:
   '所有员工的基类'
   empCount = 0
 
   def __init__(self, name, salary):
     self.name = name
     self.salary = salary
     Employee.empCount += 1
     
   def displayEmployee(self):
      print "Name : ", self.name,  ", Salary: ", self.salary
   
   def displayCount(self):
     print "Total Employee %d" % Employee.empCount
 
 
"创建 Employee 类的第一个对象"
emp1 = Employee("Zara", 2000)
emp1.displayEmployee()
emp1.displayCount()
 
"创建 Employee 类的第二个对象"
emp2 = Employee("Manni", 5000)
emp2.displayEmployee()
emp2.displayCount()
 
 
输出:
Name :  Zara , Salary: 2000
Total Employee 1
Name :  Manni , Salary: 5000
Total Employee 2
 
可以根据上述代码体会面向对象的优势:如果有代码修改,比如增加函数,有的对象调用,有的对象不需调用,那就可以很容易实现。不用像面向过程那样要伤筋动骨。
 
 
面向过程:相当于看一部电影,我们是从上帝视觉去看 what happen;
面向对象:看电影的时候,我们不停地把自己代入到不同角色中,从他们的角度出发去思考要做什么。
谨记避免:其实往往我们是——使用面向对象的语言,编写着面向过程的代码。
 
 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!