面向对象

两种编程思想:面向对象、面向过程

面向过程的思想是把一个项目、一件事情按照一定的顺序,从头到尾一步一步地做下去,先做什么,后做什么,一直到结束,我们之前编程的思想也都是使用这种思想。这种编程思想,只要前面有一个步骤变了,那么后面的就也要变,后面维护起来比较麻烦,这样的编程思想,我们在写一些简单的小程序、只执行一次的脚本时可以使用。而面向对象呢,面向对象的思想是把一个项目、一件事情分成更小的项目,或者说分成一个个更小的部分,每一部分负责什么方面的功能,最后再由这些部分组合而成为一个整体。这种思想比较适合多人的分工合作,就像一个大的机关,分各个部门,每个部门分别负责某样职能,各个部门可以充分发挥自己的特色,只要符合一定前提就行了。

举个栗子:买车

#每个执行者都要经过这些步骤

1.第一步要到4s店,买车

2.到保险公司上保险

3.税务局交税

4.交管所上牌

def buyCar():
print('买车')
def baoxian():
print('买保险')
def jiaoshui():
print('交税')
def shangpai():
print('上牌')

#面向对象
现在有一个 买车处,安排一个人(xw)来执行上面的步骤;这就是面向过程与面向对象、面向对象包含面向过程

class BuyCar:
def buyCar(self):
print('买车')
def baoxian(self):
print('买保险')
def jiaoshui(self):
print('交税')
def shangpai(self):
print('上牌')
xw = BuyCar()
xw.buyCar()
xw.baoxian()

在python中,把具有相同属性和方法的对象归为一个类(class),上例中,定义一个BuyCar的类,buycar、baoxian、jiaoshui、shangpai四个方法

#类:就是相当于一个模型、图纸
#对象:根据模型做出来的东西
#实例:就是对象
#实例化:根据模型做具体东西的过程,类要实例化之后才可以用;上个栗子中xw=BuyCar()就是实例化,xw就是实例
#实例方法:必须实例化之后才能使用的函数,xw.buyCar()、xw.baoxian()
#构造函数:类在实例化的时候做的某些初始化操作,比如连接数据库,要有host、用户名、密码、数据库等字段。类在实例化之后会自动执行构造函数里的代码
#析构函数:析构函数就是这个实例在销毁的时候做的一些操作

初始化对象:
class User:
def __init__(self):
#构造函数或者叫初始化方法,创建类时,可定义一个特定的方法,__init__,只要创建类实例就会运行这个方法;
# 也可以向这个方法传递参数;self指的是类自己
self.name = "张三"
self.age = 18
self.addrss = "杭州"

def todo(self):
print("去%s"%self.addrss)
u = User() #u是对象,也就是类实例化后的具体实例
u.todo() #调用todo方法



posted @ 2019-11-17 09:53  哈哈一笑~~~  阅读(142)  评论(0编辑  收藏  举报