python面向对象-继承(手机例子,未完)

例子

如手机的发展图谱:

编码

根据上图的关系,进行编码:

顶级父类“手机”的代码

同之前章节的代码

#coding=utf=8
class Phone:
    '''手机类'''
    def __init__(self,name,imei):
        print("调用__init__()",",name=",name)
        self.__name=name
        self.__imei=imei

    def call(self,number):
        print("用 "+self.__name+" 打电话给 "+number)

    def get_name(self):
        return self.__name

    def get_imei(self):
        return self.__imei

    def set_name(self,name):
        self.__name=name

    def set_imei(self,imei):
        self.__imei=imei

“智能机”的代码如下:

#coding=utf-8

#引入模块
from phone import Phone

#小括号内的Phone,表示继承Phone
class SmartPhone(Phone):
    pass

#注意创建实例的方式
sp=SmartPhone("iphoneX","12345678")

#子类中没有定义call()方法,但仍然能够正确调用,是因为继承父类的call()方法
sp.call("110")

结果如下:

调用__init__() ,name= iphoneX
用 iphoneX 打电话给 110

原文出处:/show_1EF2DsaA6k5A.html