python--面向对象-继承/多态


##继承-----多态
继承:子类完全拥有父类的数据方法
多态:每个子类有自己的多元化数据方法 可以完全独立于父类,也可以在继承父类的基础上增加

Ctrl + o 继承快捷键

1.数据继承

子类没有init实例化函数,自动完全继承父类数据

class A:
def __init__(self, name, age):
self.name = name
self.age = age

def sya(self):
print('say...')

class B(A):
pass
b=B('LILI',25) #必须填参数,不然报错


子类有自己的init实例化函数
要么完全继承父类属性,在基础上增加自己的属性
class A:
def __init__(self, name=None, age=None):
self.name = name
self.age = age

class B(A):
def __init__(self, name, age, sex):
super().__init__(name, age)
self.sex = sex

b = B('LI',25, 'm')
print(b.__dict__)

/要么完全重写使用自有属性

class A:
def __init__(self, name=None, age=None):
self.name = name
self.age = age


class B(A):
def __init__(self, name, sex):

self.name = name
self.sex = sex

b = B('LI', 'm')
print(b.__dict__)

继承方法: 子类自动继承父类方法,不需要重写代码


可在父类方法上添加
class A:
def __init__(self, name, age):
self.name = name
self.age = age

def sya(self):
print('say...')


class B(A):

def sya(self):
super().sya()


可完全重写
class A:
def __init__(self, name, age):
self.name = name
self.age = age

def sya(self):
print('say...')


class B(A):

def sya(self):
print('hi')


内置函数
isinstance(对象, 类型)
返回指定对象是否是某个类的对象。
issubclass(类型,类型)
返回指定类型是否属于某个类型。

猜你喜欢

转载自www.cnblogs.com/chenlulu1122/p/11922122.html