Python 学习笔记-17

Python 学习笔记-17:

  1. 面向对象的三大特性:封装、继承和多态

1. 类

  1. 类的定义
  • class是关键字,表示类
  • 创建对象,类名称后加括号即可
  • ps:类中的函数第一个参数必须是self(详细见:类的三大特性之封装)
  • 类中定义的函数叫做 “方法”

  • 代码示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 创建类
    class Foo:

    def Bar(self):
    print 'Bar'

    def Hello(self, name):
    print 'i am %s' %name

    # 根据类Foo创建对象obj
    obj = Foo()
    obj.Bar() #执行Bar方法
    obj.Hello('wupeiqi') #执行Hello方法
  1. 类的成员
  • 字段

    • 普通字段:保存在对象中,只能通过对象调用
    • 静态字段:保存在类中,可以通过方法和对象调用
  • 方法

    • 普通方法:保存在类中,通过对象调用
    • 静态方法:给普通方法添加一个@staticmethod修饰器,直接通过类调用
    • 类方法:给普通方法添加一个@classmethod修饰器,直接通过类调用
    • 如果对象中需要保存一些值,执行某功能时,需要使用对象中的值 -> 普通方法
    • 不需要任何对象中的值 -> 静态方法
  • 属性,特性

    • 给普通方法添加一个@property修饰器,像调用字段一样调用

2. 面向对象的三大特性:封装、继承和多态

  1. 封装
  • 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。
  • 所以,在使用面向对象的封装特性时,需要:
    • 将内容封装到某处
    • 从某处调用被封装的内容
  1. 继承
  • 继承,面向对象中的继承和现实生活中的继承相同,即:子可以继承父的内容。
  • 例如:
    • 猫可以:喵喵叫、吃、喝、拉、撒
    • 狗可以:汪汪叫、吃、喝、拉、撒
  1. 多态
  • Pyhon不支持Java和C#这一类强类型语言中多态的写法,但是原生多态,其Python崇尚“鸭子类型”。