一、Python类的继承
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。
- 声明类的时候括号中写要继承的父类。
- 类的继承衍生出类子类,子类可以继承或重写父类的方法,子类可以自定义新的方法或者成员变量,比如学生类可以继承用户类。
示例:
#-*-coding:utf-8-*-
class User(object):
"user information"
def __init__(self,name,age):
self.name=name
self.age=age
def who(self):
print 'My name is '+self.name + ".I'm " + str(self.age) + ' years old.'
#类继承
class Student(User):
def __init__(self,name,age,height): #重写构造方法(在继承中基类的构造方法不会被自动调用,需在派生类的构造中专门进行调用)
User.__init__(self,name,age)#调用基类的方法时,需加基类的类名前缀,并带self参数变量
self.height=height #子类定义新的成员变量
def who(self):
User.who(self)
print "My height is " + str(self.height)+ "."
Student('emma',18,170).who() #Python先查找对应类的方法,在派生类中找不到方法,再去基类中查找
运行结果如下:

注:
1.在继承中基类的构造方法不会被自动调用,需在派生类的构造中专门进行调用。
2.调用基类的方法时,需加基类的类名前缀,并带self参数变量。
3.Python先查找对应类的方法,如在派生类中找不到方法,再去基类中查找。
二、Python对象销毁(垃圾回收)
- 同Java语言一样,Python使用了引用计数这一简单技术来追踪内存中的对象。
- 垃圾回收机制不仅针对引用计数为0的对象,同样也可以处理循环引用的情况。
示例:上述实例中如执行:del u1,则u1对象被销毁,打印:User destroyed
网友评论