Python从小白到大牛 — 第11章 面向对象编程

第11章 面向对象编程

          • 11.1 面向对象概述
            • 11.2 面向对象三个基本特性
          • 11.3 类和对象
            • 11.3.1 定义类
          • 11.4 封装性
          • 11.5 继承性
          • 11.6 多态性

11.1 面向对象概述

万物皆对象,对零基础的人来说,太抽象。目前我的最狭义的理解,在python里,最简单的像数字1,或只要是有名字的,如你创建的变量,如a = 1,你都可以dir(1),dir(a)来看到它是有内容(属性,方法)的

11.2 面向对象三个基本特性

封装性,继承性和多态性,只要看基础课都会讲到的,相信你已经听吐了

11.3 类和对象
11.3.1 定义类

这样创建类

class 类名([父类]):
	类体

类里面有属性,有方法和成员变量

方法有实例方法,类方法和静态方法
反正我看了不知道几遍了,还是有点糊涂,实例方法好理解。类方法和静态方法很像,作者也没说什么情况下使用这两个。感觉重点在这几句:

  1. 类方法,属于类,不属于实例的方法
  2. 静态方法,不与实例和类绑定,没有指定self和cls
    不过似乎不是重点。。现在不懂也没关系

构造方法,另称魔法方法,初始化。如__init__,__str__,前后两个下划线。我们暂时这么理解,就是给实例一个初始化的属性

11.4 封装性

私有方法和私有变量,就是在类里面的函数或变量,在前面加两个下划线,外面就访问不了,只能在类里面调用

11.5 继承性

直接举个例子:

class God():
	name = 'Dog'

class Dog(God):		=> 在括号里写上想继承的父类名字
    age = 999
    
p = Dog()
print(p.name)		=> Dog就继承了上帝的名字
========result========
Dog
11.6 多态性

就是说,当子类的方法名字和父类的方法名字一样时,用的是子类自己的方法。

你可能感兴趣的:(python从小白到大牛)