day6 面相对象编程 类的继承 经典类新式类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day6 面相对象编程 类的继承 经典类新式类相关的知识,希望对你有一定的参考价值。

类变量与实例变量构造函数

__author__ = ‘meng‘

class Foo:
    #n = 12345 #类变量
    def __init__(self, name, age):
        # 构造函数
        # 在实例化时做一些类的初始化工作
        self.name = name #实例变量(静态属性),作用域就是实例本身
        self.age = age
    def shot(self): #类的方法功能(动态属性)
        print (‘%s.......‘ %(self.name))

obj = Foo(‘nick‘, 18) #实例化类 Foo,
print (obj.name) #调用
print (obj.age)
print (obj.shot())
obj2 = Foo(‘jenny‘, 21)
print (obj2.name)
print (obj2.age)

私有方法

一个python函数或类方法以两个下划线开始(不是结束),他是私有的,私有方法不能在类以外调用,只能在类内部调用。

__author__ = ‘meng‘

class Person:
    def __init__(self,name):
        self.name = name
        print (self.name)
    def __work(self,salary):
        print ("%s salary is: %d"%(self.name,salary))
    def worker(self):
        self.__work(500)        #在类内部调用私有方法
if __name__=="__main__":
    officer = Person("Jack")
    #officer.__work(1000) #会报错
    officer.worker()

  

以上是关于day6 面相对象编程 类的继承 经典类新式类的主要内容,如果未能解决你的问题,请参考以下文章

day6 - 面向对象学习

python-- 类的继承(新式类/经典类)多态

python------面向对象介绍之经典类与新式类的继承顺序

新式类与经典类的比较

多继承c3算法与网路编程

继承派生新式类与经典类