初识面向对象

1. 初识面向对象
  面向过程:
    一切以事务的发展流程为中心.
  面向对象:
    一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象

  打比方:
    大象进冰箱
    步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门

    面向对象:指挥对象,大象, 你进冰箱.
    此时主语是大象. 我操纵的是大象. 此时的大象就是对象

2. 类. 对象
  类: 就是图纸. 创建对象的第一步. 先画图纸. 先写类.
  对象: 对象就是车. 通过图纸造出来的具体的东西. 通过类来创建对象

  类与对象的关系:
  类是对xxx事物的归类.
  写:
  __init__(self, 参数)   参数一般作为属性设置给对象. 对象就是self, 对属性的封装.

  def 方法(self, 参数):   方法. 第一个参数一般是固定的self. 当前类的对象.
    pass

  对象是xx类型的一个具体
  创建对象: 类名()

  创建类:
    class 类名:

      def __init__(self):    # 初始化方法. 又被成为构造方法
        self.属性 = 值
        self.属性 = 值
        self.属性 = 值

      def    fangfa(self):
        方法体(函数体, return)

  创建对象:
    变量 = 类名() # 实例化 <-> 创建对象

    变量.属性 # 访问对象的属性信息
    变量.方法() # 访问类中的方法

class HaoHan:
    def __init__(self,add,wai,wuqi,name):
        self.add = add
        self.wuqi = wuqi
        self.wai = wai
        self.name = name

    def da(self):
        print("%s在%s用%s打了一只老虎"%(self.name,self.add,self.wuqi))

    def sha(self):
        print("%s%s杀了嫂子"%(self.wai,self.name))

    def ti(self):
        print("%s%s在%s替天行道"%(self.wai,self.name,self.add))

a = HaoHan("郓城","及时雨","拳头","宋江")
a.ti()
a.sha()
a.da()

  

3. 面向对象和面向过程的对比
  如果写一些比较小的程序用面向过程.
  程序很复杂. 很庞大建议用面向对象.

4. 面向对象的三大特征
  封装:
  1. 对属性的封装(__init__())
    self.xxx = xxx
  2. 对方法和功能的封装

  继承
  子类自动拥有父类中除了私有内容外的其他所有内容
  class Bar(Foo): Bar对Foo进行了扩展
    pass

  当出现x是一种y的时候. 推荐使用继承关系
  python支持多继承. 查找顺序: 就近原则

  多态  (python原生直接就是多态)
  python更多的支持的是鸭子模型, 只要会嘎嘎叫就是好鸭子

posted on 2018-12-17 17:43  哎呀!土豆  阅读(113)  评论(0编辑  收藏  举报

导航