深圳网站开发搜行者seo,夜场酒吧娱乐ktv类企业网站源码,互联网保险产品有哪些,网站关键词和网站描述面向对象编程——Object Oriented Programming#xff0c;简称OOP#xff0c;是一种程序设计思想。OOP把对象作为程序的基本单元#xff0c;一个对象包含了数据和操作数据的函数。
面向过程的程序设计把计算机程序视为一系列的命令集合#xff0c;即一组函数的顺序执行。为…面向对象编程——Object Oriented Programming简称OOP是一种程序设计思想。OOP把对象作为程序的基本单元一个对象包含了数据和操作数据的函数。
面向过程的程序设计把计算机程序视为一系列的命令集合即一组函数的顺序执行。为了简化程序设计面向过程把函数继续切分为子函数即把大块函数通过切割成小块函数来降低系统的复杂度。
而面向对象的程序设计把计算机程序视为一组对象的集合而每个对象都可以接收其他对象发过来的消息并处理这些消息计算机程序的执行就是一系列消息在各个对象之间传递。
在Python中所有数据类型都可以视为对象当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类Class的概念。
我们以一个例子来说明面向过程和面向对象在程序流程上的不同之处。
假设我们要处理学生的成绩表为了表示一个学生的成绩面向过程的程序可以用一个dict表示
std1 { name: Michael, score: 98 }
std2 { name: Bob, score: 81 }
而处理学生成绩可以通过函数实现比如打印学生的成绩
def print_score(std):
print %s: %s % (std[name], std[score])
如果采用面向对象的程序设计思想我们首选思考的不是程序的执行流程而是Student这种数据类型应该被视为一个对象这个对象拥有name和score这两个属性Property。如果要打印一个学生的成绩首先必须创建出这个学生对应的对象然后给对象发一个print_score消息让对象自己把自己的数据打印出来。
class Student(object):
def __init__(self, name, score):
self.name name
self.score score
def print_score(self):
print %s: %s % (self.name, self.score)
给对象发消息实际上就是调用对象对应的关联函数我们称之为对象的方法Method。面向对象的程序写出来就像这样
bart Student(Bart Simpson, 59)
lisa Student(Lisa Simpson, 87)
bart.print_score()
lisa.print_score()
面向对象的设计思想是从自然界中来的因为在自然界中类Class和实例Instance的概念是很自然的。Class是一种抽象概念比如我们定义的Class——Student是指学生这个概念而实例Instance则是一个个具体的Student比如Bart Simpson和Lisa Simpson是两个具体的Student
所以面向对象的设计思想是抽象出Class根据Class创建Instance。
面向对象的抽象程度又比函数要高因为一个Class既包含数据又包含操作数据的方法。
小结
数据封装、继承和多态是面向对象的三大特点我们后面会详细讲解。