2一、面向对象

面向对象

类和对象

  • 面向过程和面向对象的编程
    • 面向过程的编程:函数式编程,C程序等
    • 面向对象的编程:C++,Java,Python等
  • 类和对象:是面向对象中的两个重要概念
    • 类:是对事物的抽象,好比:汽车模型
    • 对象:是类的一个实例,好比:QQ轿车,大客车
  • 范例说明
    • 汽车模型能够对汽车的特征和行为进行抽象,而后能够实例化一台真实的汽车实体出来

Python类定义

  • Python类的定义
    • 使用class关键字定义一个类,而且类名的首字母要大写
    • 当程序员须要建立的类型不能用简单类型表示时就须要建立类
    • 类把须要的变量和函数组合在一块儿,这种包含也称之为“封装”
  • Python类的结构python

    class 类名:
          成员变量
          成员函数
    
      class MyClass():
          first = 123
          def fun(self):
              print "I am function"
  • 对象的建立
    • 建立对象的过程称之为实例化;当一个对象被建立后,包含三个方面的特性:对象的句柄、属性和方法。
      • 句柄用于区分不一样的对象
      • 对象的属性和方法与类中的成员变量和成员函数对应程序员

        if __name__ == "__main__":
              myClass = MyClass()     #建立类的一个实例
  • 构造函数__init__web

    class Person:
          def __init__(self, name, lang, website):
              self.name = name
              self.lang = lang
              self.website = website
  • self是一个很神奇的参数
    • self指向类的一个实例,当实例调用方法时,self就指向这个调用的方法的实例
  • 子类、父类和继承编程

    # 抽象形状类
      class Shape:
          # 类的属性
          edge = 0
          # 构造函数
          def __init__(self, edge):
              self.edge = edge
          # 类的方法
          def getEdge(self):
              return self.edge
          # 抽象方法  
          def getArea(self):
              pass
    
      #三角形类,继承抽象形状类
      class Triangle(Shape):
          width = 0
          height = 0
          # 构造函数
          def __init__(self, width, height):
              #调用父类构造函数
              Shape.__init__(self, 3)
              self.width = width
              self.height = height
          #重写方法
          def getArea(self):
              return self.width * self.height / 2
    
      #四边形类,继承抽象形状类       
      class Rectangle(Shape):
          width = 0
          height = 0
          # 构造函数
          def __init__(self, width, height):
              #调用父类构造函数
              Shape.__init__(self, 4)
              self.width = width
              self.height = height
          #重写方法
          def getArea(self):
              return self.width * self.height
    
      triangle = Triangle(4,5);
      print triangle.getEdge()
      print triangle.getArea()
    
      rectangle = Rectangle(4,5);
      print rectangle.getEdge()
      print rectangle.getArea()
  • python支持多继承,但不推荐使用数组

相关文章
相关标签/搜索