python-class(3)

时间:2023-03-09 01:52:00
python-class(3)
 #!/usr/bin/env python
#-*- coding:utf-8 -*-
############################
#File Name: class3.py
#Author: frank
#Email: frank0903@aliyun.com
#Created Time:2017-09-04 14:55:16
############################ class Parent:
parentAttr = 100
def __init__(self):
print "invoke construct of base class" def parentMethod(self):
print "invode parentMethod" def setAttr(self, attr):
Parent.parentAttr = attr def getAttr(self):
print "attr of base class:", Parent.parentAttr def myMethod(self):
print '调用父类方法' class Child(Parent):
def __init__(self):
print "invoke construct of sub class" def childMethod(self):
print "invode childMethod" def myMethod(self):
print '调用子类方法' c = Child() # 实例化子类
c.childMethod() # 调用子类的方法
c.parentMethod() # 调用父类方法
c.setAttr(200) # 再次调用父类的方法 - 设置属性值
c.getAttr() # 再次调用父类的方法 - 获取属性值
c.myMethod()

python3.5 环境下运行:

 # -*- coding: utf-8 -*-
"""
Created on Mon Jun 11 12:49:01 2018 @author: Frank
""" class Parent:
parentAttr = 100
def __init__(self):
print("invoke construct of base class") def parentMethod(self):
print("invode parentMethod") def setAttr(self, attr):
Parent.parentAttr = attr def getAttr(self):
print("attr of base class:{}".format(Parent.parentAttr)) def myMethod(self):
print('调用父类方法') class Child(Parent):
def __init__(self):
print("invoke construct of sub class") def childMethod(self):
print("invode childMethod") def myMethod(self):
print('调用子类方法') c = Child() # 实例化子类
c.childMethod() # 调用子类的方法
c.parentMethod() # 调用父类方法
c.setAttr(200) # 再次调用父类的方法 - 设置属性值
c.getAttr() # 再次调用父类的方法 - 获取属性值
c.myMethod() # override
print("attr:{}".format(c.parentAttr))