什么是面向对象
早期的编程语言没有提供处理集群数据的良好接口。这意味着任何代码段都可以存取某个数据结构的任何部分,从而导致程序的缺陷难以隔离。
如果将数据以及处理它们的过程组织为一个包并定义一个良好的接口,情况就会好很多。这种组织方法即现在广为流行的面向对象编程方法。
面向对象编程是一种组织程序的新型思维方式,软件设计的焦点不再是程序的逻辑流程,而是软件或程序中的对象以及对象之间的关系。
类和对象
在python中,把具有相同属性和方法的对象归为一个类
举个例子:
有一天老板让你做鸡头
#让你做个鸡头 def Yan(): print("做个鸡眼睛") def Zui(): print("做个鸡嘴巴") def Bi(): print("做个鸡鼻子") def Nao(): print("做个鸡脑袋") Yan() Zui() Bi() Nao()
又一天老板让你做鸭头
#让你做个鸭头 def Yan(): print("做个鸭眼睛") def Zui(): print("做个鸭嘴巴") def Bi(): print("做个鸭鼻子") def Nao(): print("做个鸭脑袋") Yan() Zui() Bi() Nao()
你虽然完成了工作,但你有没有感到很麻烦
所以类方法可以让这个变得很简单
class Animal(object): def __init__(self, name): # 实例化的时候传入要制作的东西名字,如鸡,鸭 self.name = name def Yan(self): print('做个'+self.name+'眼睛') def Zui(self): print('做个'+self.name+'嘴巴') def Bi(self): print('做个'+self.name+'鼻子') def Nao(self): print('做个'+self.name+'脑袋') a=Animal() a.Yan() a.Zui() a.Bi() a.Nao()
就这样就很快的完成了两个工作
继承型
继承:class ****(需要继承的类)
这样就可以让其子类获得父类的方法与属性
父类:
也称为超类,和基类
子类:
也称为派生类
具体定义如下:
class 子类名(基类1,*,*,*):
语句块
class Fuqin(object): def Q(self): print("父类") class Erzi(Fuqin): pass A = Erzi() A.Q()