首页 > 编程语言 >python基础语法 010 类和对象-6-1 继承定义

python基础语法 010 类和对象-6-1 继承定义

时间:2024-08-19 16:25:31浏览次数:17  
标签:语法 Phone python 子类 self 010 继承 print 父类

前提:

        在真实世界中,类型之间可能存在范围包含关系,比如:人这个类型和亚洲人这个类型。

        人是包括了亚洲人的,如果某人是员工亚洲人,那么它必定是一个人

        这种关系,在编程语言中称为继承关系

        比如上面例子:亚洲人这个类就继承了人这个类

        通常把被继承的类称为父类或者基类

        把继承类称为子类 或者 派生类

例子:Benz2016、Benz2018继承BenzCar类

class BenzCar:
    brand = '奔驰'
    country = '德国'

    @staticmethod
    def pressHorn():
        print("嘟嘟~~")
    def __init__(self, color, engineSN):
        self.color = color
        self.engineSN = engineSN
    
    def changeColor(self, newColor):
        self.color = newColor

class Benz2016(BenzCar):
    price = 502222
    model = 'Benz2016'
    
class Benz2018(BenzCar):
    price = 902222
    model = 'Benz2018'

2 继承

2.1 私有属性

私有属性

  • 双下滑线开头:__attr
  • 声明为私有属性,那么该说明属性是类私有的,仅限于在类里面使用,不要在类外面去调用

2.2 类的继承关系:

通过使用父类的方法,使其不重复去定义各种方法

问:通过继承能够获得什么?

  • 子类通过继承可以自动获得父类的一切属性和方法
  • 被继承的类叫父类,继承的类叫子类
  • 注意:私有属性不能继承
  • 作用:子类通过继承可以获得父类的属性和方法,提高开发的效率及代码的复用性
  • 继承是单边关系
  • 一般继承不超过2层

2.2.1 继承的定义

语法

继承
父类、子类
继承:如何表示?
class 子类名(父类名):
    pass
 1)一个子类在继承父类的一切特性的基础上,可以有自己的属性和方法

 例子1:smartPhone继承了Phone

lass Phone:
    def __init__(self, number):
        self.number =number

    def  call(self, to, records = False):
        "打电话"
        print("{}给{}打电话".format(self.number, to))
        if records:
            self.record()

    def record(self):
        '录音'
        print("{}正在录音".format(self.number))

class smartPhone(Phone):
    '智能手机'
    model = '智能手机'

normal_phone = Phone('1')
print(normal_phone.record())

smart_phon = smartPhone('123')
print(smart_phon.record())
print(smart_phon.number)

"""
1正在录音
None
123正在录音
None
123
"""
2) 父类当中不能调用子类方法

#父类当中不能调用子类方法
class smartPhone(Phone):
    '智能手机'
    def watch_movie(self, name):
        print("{}正在看电影".format(name))

normal_phone = Phone('1')
print(normal_phone.record())
print(normal_phone.watch_movie())


"""
AttributeError: 'Phone' object has no attribute 'watch_movie'
"""

标签:语法,Phone,python,子类,self,010,继承,print,父类
From: https://blog.csdn.net/qq_41070511/article/details/140340293

相关文章

  • Python 实现Word和TXT文本相互转换
    Word文档(.doc或.docx)和纯文本文件(.txt)是两种常用的文件格式。Word文档通常用于复杂的文档处理和排版,而纯文本文件则用于存储和传输纯文本信息。了解如何在这两种格式之间进行转换能提高工作效率,并便于文件管理。本文将详细介绍如何使用Python实现Word和TXT文件格式之间的相互转换......
  • Python一些简单基础的模板化语法
    字符串的格式化%s:可以接收任何类型的传值(%d只可以接收整型int)单个值"myageis%s"%"18.56"按照值对应res="mynameis%s,myageis%s"%("xj",18)按照字典传值res="mynameis%(name)s,mynameis%(age)s"%{"age":"......
  • 【Python实现禁用任务管理器】
    效果展示:代码及解析:提示:使用pyinstaller打包可以避免弹窗,食用更佳哦提示(2):运行后要等待一段时间再关机哦禁用代码:要禁止任务管理器关闭Python程序,可以通过修改注册表来实现。以下是示例代码:importwinregimportctypesimportsys#以管理员身份运行此程序ct......
  • 【python实现修改所有可执行程序的图标】
    实现效果:图标在此替换前:吐槽:这原版看着也不像原版......
  • 基于python个性化旅游线路推荐系统(源码+文档+调试+讲解)
    收藏关注不迷路!!......
  • MBR20100FCT-ASEMI无人机专用MBR20100FCT
    编辑:llMBR20100FCT-ASEMI无人机专用MBR20100FCT型号:MBR20100FCT品牌:ASEMI封装:TO-220F批号:最新恢复时间:35ns最大平均正向电流(IF):20A最大循环峰值反向电压(VRRM):100V最大正向电压(VF):0.70V~0.90V工作温度:-65°C~175°C芯片个数:2芯片尺寸:mil正向浪涌电流(IFMS):200AMBR20100FCT......
  • 2024年新版Python零基础从入门到进阶学习路线!
    Python基础初始Python基础语法流程控制-选择结构流程控制-循环结构字符串和正则函数入门函数高级数据结构-列表和元组数据结构-字典和集合IO和文件操作文件操作进阶面向对象入门面向对象三大特性面向对象应用异常处理常用内置模块序列化模块网络请求模块MySQL入门MySQL命......
  • [GUET-CTF2019]虚假的压缩包1附送RSA解密&CRC破解png宽高&异或python脚本
    解压得到下图两个zip文件,虚假的压缩包、真实的压缩包使用010editor打开,发现是伪加密,把09改为00即可打开打开以后,发现是是一个rsa解密题上python脚本importgmpy2deffind_pq(n):forpinrange(2,int(n**0.5)+1):ifn%p==0:q=......
  • 洛谷 P1540 [NOIP2010 提高组] 机器翻译
    题目概括给定N个整数,和一个容量为M的“字典”,从头到尾依次翻译,每次翻译先看自家字典,没有的话再看别人的字典并存到自家字典,如果自家字典满了,当前单词的翻译会代替最早进入的。做题思路定义一个长度为M的字典数组,依次遍历N个数,每次翻译先检索字典数组,没有的话加入字典并......
  • P1540 [NOIP2010 提高组] 机器翻译 题解
    题目概括给定N个整数,和一个容量为M的“字典”,从头到尾依次翻译,每次翻译先看自家字典,没有的话再看别人的字典并存到自家字典,如果自家字典满了,当前单词的翻译会代替最早进入的。做题思路定义一个长度为M的字典数组,依次遍历N个数,每次翻译先检索字典数组,没有的话加入字典并......