python的继承

私有变量

除了在对象内部(包括其子类)不能访问的“私有”实例变量在Python中不存在。但是,大多数Python代码遵循一个约定:以下划线(例如_spam为前缀的名称应被视为API的非公开部分(无论它是函数,方法还是数据成员)。它应被视为实施细节,如有更改,恕不另行通知。

只能通过本类的非私有方法访问。

#-*- coding:UTF-8 -*-
class parent:
    count=100;
    __privateName="zhansan";
    def __init__(self):
        print ("fu init");
        self.age=10;
        self.num="12234";
        self.name="fu";
    def setName(self,name):
        print ("fulei setName");
        self.name=name;
    def getName(self):
        print ("fulei getName");
        return self.name;
    def getPrivateName(self):
        return self.__privateName;
class child(parent):
    def __init__(self):
        parent.__init__(self);
        print ("zilei init");

    def setName(self,name):
        parent.setName(self,name);
        print ("zilei setName");
    def getName(self):
        print ("zilei getName");
        return parent.getName(self);
    def getPrivateName(self):
        return parent.getPrivateName(self);

a=child();
print (a.getName());
print a.count;
print a.getPrivateName();

wKioL1jAwRyhpKL6AAAotfNkK24920.png-wh_50

初始化类时,先进入子类__init__()方法,调用父类的__init__()构造方法,再

执行子类__init__()代码,完成初始化。

有同名函数时,子类对象调用子类函数。

子类没有调用的函数时,子类对象调用父类函数。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章