美文网首页
python零基础13:类的继承和定制

python零基础13:类的继承和定制

作者: Iphone60Plus | 来源:发表于2020-03-26 15:13 被阅读0次

类的定制和继承是什么?

类的继承

#类的继承
#广东人属于中国人
#广东人继承的中国人的属性和方法(黑眼睛、用筷子)
#继承作用:子类白手起家,直接调用

类的定制

#类的定制
#子类不但继承了父类属性和方法,还可以修改父类的属性和方法
#子类还可以有自己的属性和方法
#类定制作用:以我为主,为我所用

类的继承要怎么写?

继承基础语法

class Chinese:#父类,无括号向上无父类
    pass

class Cantonese(Chinese):#创建继承,首字母大写
    pass

gonger = Chinese()#父类创建实例
yewen = Cantonese()#子类创建实例

#子类创建的实例同时也属于父类
print('\n验证1:子类创建的实例同时也属于父类')
print(isinstance(gonger,Chinese))  
print(isinstance(yewen,Chinese))  

#父类创建的实例不属于子类
print('\n验证2:父类创建的实例不属于子类。')
print(isinstance(gonger,Cantonese))

#类创建的实例都属于根类
print('\n验证3:类创建的实例都属于根类。')
print(isinstance(gonger,object))  
print(isinstance(yewen,object))

继承之多层继承

class Earthman:
    eye_number = 2

# 中国人继承了地球人
class Chinese(Earthman):
    eye_color = 'black'

# 广东人继承了中国人,同时也继承了地球人。
class Cantonese(Chinese):
    pass

# 子类可调用所有父类的属性和方法
yewen = Cantonese()
print(yewen.eye_number)
print(yewen.eye_color)

继承的多重继承

class Su:
    born_city = 'Jiangsu'
    wearing = 'thick'  # 穿得较厚

    def diet(self):
        print('我们爱吃甜。')

class Yue:
    settle_city = 'Guangdong'
    wearing = 'thin'  # 穿得较薄

    def diet(self):
        print('我们吃得清淡。')

# 就近原则,多重继承。
class Yuesu(Yue,Su):
    pass

xiaoming = Yuesu()
print(xiaoming.wearing)
print(xiaoming.born_city)
xiaoming.diet()

类的定制要怎么写

定制,可以新增代码

class Chinese:
    eye = 'black'

    def eat(self):
        print('吃饭,选择用筷子。')

class Cantonese(Chinese):  # 类的继承
    native_place = 'guangdong'  # 类的定制,定制属性

    def dialect(self):  # 类的定制,定制方法
        print('我们会讲广东话。')

yewen = Cantonese()
print(yewen.eye)
# 父类的属性调用
print(yewen.native_place)
# 子类的定制属性也能用
yewen.eat()
# 父类的方法能用
yewen.dialect()
# 子类的定制方法也能用

定制,也可以重写代码

gonger = Chinese()
yewen = Cantonese()
gonger.land_area(96)
yewen.land_area(960)

class Chinese:
    def land_area(self,area):
        print('我们居住的地方,陆地面积是%d万平方公里左右。'% area)

class Cantonese(Chinese):
    # 直接对方法进行重写
    def land_area(self,area):
        print('我们居住的地方,陆地面积是%d万平方公里左右。'% int(area*0.0188))

gonger = Chinese()
yewen = Cantonese()
gonger.land_area(96)
yewen.land_area(90)

class Chinese:
    def __init__(self, greeting='你好', place='中国'):
        self.greeting = greeting
        self.place = place

    def greet(self):
        print('%s!欢迎来到%s。' % (self.greeting, self.place))

# 请为子类完成定制,代码量:两行。
class Cantonese(Chinese):
    def __init__(self,greeting='雷猴', place='广东'):
        Chinese.__init__(self,greeting,place)

yewen = Cantonese()
yewen.greet()

相关文章

  • python零基础13:类的继承和定制

    类的定制和继承是什么? 类的继承 类的定制 类的继承要怎么写? 继承基础语法 继承之多层继承 继承的多重继承 类的...

  • “老奶奶”的python学习笔记(13)

    知识体系 第13关:类的定制和继承 知识点 类基础知识代码 举例: class Chinese: # 类的创建 ...

  • Python面向对象编程(下)

    数据封装、继承和多态是面向对象程序设计中最基础的3个概念,今天学习下Python中的高级特性——多重继承、定制类、...

  • python语法入门五

    类和对象 类和对象 基础 继承:python为多继承 类、类对象和实例对象 当实例对象声明后,再删除类对象,那么该...

  • 面向对象基础二——类的继承

    子类:继承者父类(超类):被继承者 1.继承基础python中类是可以集成的,并且可以多继承 class 类名(父...

  • 类的继承顺序

    python2新式类继承object的类python2经典类未继承任何类的python2新式类和python3的继...

  • 类的继承和类的定制-python学习21

    类的继承 在Python中,我们的习惯表述是:A类是B类的子类,而B类是A类的父类(或超类)。 所以,类的继承,让...

  • Swift5.1继承

    13.继承 重写1.重写:⼦类可以为继承来的实例方法,类方法,实例属性,类属性,或下标提供⾃己定制的实现。我们把这...

  • python中super出现的TypeError: must

    python在继承一个类之后, 要调用父类的方法, 父类必须继承一个基础类Object 结果报错TypeError...

  • python继承机制和Minxin模式

    python继承和访问父类和super python通过在类方法名旁边声明(父类名)来继承父类子类可以通过父类名....

网友评论

      本文标题:python零基础13:类的继承和定制

      本文链接:https://www.haomeiwen.com/subject/rkcquhtx.html