Python基础(十)—面向对象的深入讲解(继承、Mixin编程机制等)
in python基础 with 0 comment

Python基础(十)—面向对象的深入讲解(继承、Mixin编程机制等)

in python基础 with 0 comment

面向对象的三大特征

面向对象(Object Oriented),对象=属性+方法

self、__init__(self)、公有&私有

继承的一些特性

继承对象的时候,子类会继承父类的属性和方法,但是前提是子类没有自己的构造函数(__init(self)),若有自己的构造方法(子类会覆盖父类的同名方法)。

Mixin编程机制

类、类对象和实例对象

三者是什么:定义的时候是类;在写完类之后就变成类对象;实例化一个类对象的时候,就是实例对象

      class Ball:
          name = '球'

对象的内置方法

下面介绍对象的一些内置方法(本身具备有的)。

class A:
    def __init__(self, x=1):
        self.x = x
class B(A):
    def __init__(self, x, y=-1):
        super(B, self).__init__(x)
        self.y = y

b1 = B(2, -2)
print(issubclass(B, B))  # True
print(issubclass(B, (A, object)))  # True

print(isinstance(b1, (A, object)))  # True

print(hasattr(b1, 'x'), b1.x)  # True 2
print(hasattr(b1, 'y'), b1.y)  # True -2

print(getattr(b1, 'x', 10))  # 2
print(getattr(b1, 'z', 'z参数不存在'))  # z参数不存在

print(setattr(b1, 'x', 10), b1.x)  # None 10
print(setattr(b1, 'z', 'z参数不存在'), b1.z)  # None z参数不存在

print(delattr(b1, 'x'))  # None delattr
class C:
    def __init__(self, size = 10):
        self.size = size
    def getSize(self):
        return self.size
    def setSize(self, value):
        self.size = value
    def delSize(self):
        del self.size
    x = property(getSize, setSize, delSize)

c1 = C(20)
# 获取
print(c1.getSize())  # 20
print(c1.x)  # 20
# 设置
c1.x = 30
print(c1.x)  # 30
# 删除
del c1.x
# print(c1.x)  # 报错
Responses