class Parent(object):
x = 1
class Child1(Parent):
pass
class Child2(Parent):
pass
print(Parent.x, Child1.x, Child2.x)
Child1.x = 2
print(Parent.x, Child1.x, Child2.x)
Parent.x = 3
print(Parent.x, Child1.x, Child2.x)
这个就是继承,子类继承父类的所有属性和方法
首先第一轮继承(1,1,1)
第二轮child1.x = 2,但是是占位符所以仅仅影响自身输出
(1,2,1)
第三轮从最开始开始继承
(3,2,3)
7.“Joker在BMW 4S店买了一俩BMW X7”,根据业务描述,声明相关类
class Car:
def __init__(self, name, cartstore):
self.name = name
self.carstore = carstore
class CarStore:
def __init__(self,name):
self.name =name
class Person:
def __init__(self, name):
self.name = name
def buy(self):
pass
person = Person('Joker')
carstore = CarStore('BMW')
car = Car('BMW x7', carstore)
person.buy()
8.编写程序, A 继承了 B, 俩个类都实现了 handle 方法, 在 A 中的 handle 方法中调用 B 的 handle 方法
class B():
def handle(self):
pass
class A(B):
def handle(self):
pass
B.handle(self)
xx = A()
xx.handle()
9.编写一个学生类,产生一堆学生对象 要求:有一个计数器(属性),统计总共实例了多少个对象
class Student():
count = 0
def __init__(self,name):
self.name = name
Student.count += 1
a = Student('A')
b = Student('B')
c = Student('C')
print Student.count
10.编写程序, 编写一个学生类, 要求有一个计数器的属性, 统计总共实例化了多少个学生
class Student():
count = 0
# 调用类方法
@classmethod
def show_student_number(cls):
print'总共实例化了%d个学生'%cls.count
def __init__(self,name):
self.name = name
Student.count += 1
a = Student('A')
b = Student('B')
c = Student('C')
Student.show_student_number()