博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python类相关
阅读量:5319 次
发布时间:2019-06-14

本文共 1172 字,大约阅读时间需要 3 分钟。

class A:    def bar(self):        print("BAR")        self.f1()class B(A):    def f1(self):        print("B")class C:    def f1(self):        print("C")class D(C,B):    passobj = D()obj.bar()# 创建了类A、B、C、D;# D继承了C和B,B继承了A,D内什么都不做,pass;# 创建一个对象obj,类是D,当执行D的bar方法的时候会先从C里面寻找有没有bar方法;# C内没有bar方法,然后继续从B里面查找,B里面也没有,B的父类是A,A里面有bar方法,所以就执行了A的bar方法;# A的bar方法首先输出了BAR;# 然后又执行了self.f1(),self=obj,相当于执行了obj.f1();# 执行obj.f1()的时候先从C里面查找有没有f1这个方法,C里面又f1这个方法;# 最后就执行C里面的f1方法了,输出了C
class Foo:    #静态方法括号中没有self,其方法前一行要加上@staticmethod    @staticmethod    def static():        print("static")#静态方法通过类名+方法名即可执行Foo.static()#静态方法也可以通过对象去访问,对于静态方法用类去访问obj = Foo()obj.static()

  

class Province:    #静态字段    contry = "China"    def __init__(self,name):        self.name = name    def show(self):        print(Province.contry,self.name)hebei = Province("河北")hebei.show()hubei = Province("湖北")hubei.show()# 类里面的成员类去访问,对象内的成员用对象去访问。

 

class Foo:    def __init__(self):        self.__Name = "huihuang"# 通过特殊的方法访问obj = Foo()#一个下划线,一个类名,私有的变量名print(obj._Foo__Name)

 

转载于:https://blog.ansheng.me/2016/06/python-full-stack-way-object-oriented-advanced.html

转载于:https://www.cnblogs.com/uglyliu/p/6104250.html

你可能感兴趣的文章
poj-1410 Intersection
查看>>
Java多线程基础(一)
查看>>
TCP粘包拆包问题
查看>>
SQL Server中利用正则表达式替换字符串
查看>>
POJ 1015 Jury Compromise(双塔dp)
查看>>
论三星输入法的好坏
查看>>
Linux 终端连接工具 XShell v6.0.01 企业便携版
查看>>
JS写一个简单日历
查看>>
Python 发 邮件
查看>>
mysql忘记密码的解决办法
查看>>
全面分析Java的垃圾回收机制2
查看>>
[Code Festival 2017 qual A] C: Palindromic Matrix
查看>>
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>