参考链接:http://www.cnblogs.com/alex3714/articles/5188179.html
cs简单实现
class Role(object):
nationality = "JP" #公有属性
def __init__(self,name,role,weapon,life_value=100,money=15000):
self.name = name
self.role = role
self.weapon = weapon
self.life_value = life_value
self.money = money
self.__heart = "Normal" #私有属性,对外部不可见的;
def shot(self):
print("%s is shooting..." %self.name)
def got_shot(self):
print("ah...,I got shot...")
def __del__(self):
print("del....run....")
def get_heart(self):
return self.__heart #外部提供只读接口
def buy_gun(self,gun_name):
print("%s just bought %s" %(self.name,gun_name))
self.weapon = gun_name
r1 = Role('Alex','police','AK47') #生成一个角色
del r1
import time
time.sleep(5)
r2 = Role('Jack','terrorist','B22') #生成一个角色
#r1.shot()
r2.buy_gun("B46")
#r1._Role__heart#强制访问私有属性
Role.nationality = "US"#更改类的公有属性
#r1.nationality = "CN"
#print(r1.nationality)
print(r2.nationality)
人狗大战
def person(name,age,sex,job):
def walk(p):
print("person %s is walking..." %p['name'])
data = {
'name':name,
'age':age,
'sex':sex,
'job':job,
'walk':walk
}
return data
def dog(name,dog_type):
def bark(d):
print("dog %s:wang.wang..wang..."%d['name'])
data = {
'name':name,
'type':dog_type,
'bark':bark
}
return data
d1 = dog("李磊","京巴")
print(d1['bark'](d1))
p1 = person("严帅",36,"F","运维")
p2 = person("林海峰",27,"F","Teacher")
print(p1['walk'](p1))
类的定义
class Dog(object):
def __init__(self,name):#构造函数 构造函数 ==初始化方法
self.NAME = name#属性,成员变量
def sayhi(self):#类的方法,动态属性
print("hello, I am a dog.my name is ",self.NAME)
def eat(self,food):
print("%s is eating %s" %(self.NAME,food))
d = Dog("LiChuang")#实例化后产生的对象叫 实例
d2 = Dog("Chuang2")
print(d)
d.sayhi()#调用功能
d2.sayhi()
d.eat("baozi")
类继承
class Person(object):
def __init__(self,name,age):
self.name = name
self.age = age
self.sex = "Normal"
def talk(self):
print("person is talking ...l")
class WhitePerson(Person):
pass
class BlackPerson(Person):#继承父类
def __init__(self,name,age,strength):#先继承,再重构
Person.__init__(self,name,age)
print(self.name)
print(self.age)
print(self.sex)
def walk(self):
print("is walking ....")
b = BlackPerson("wei er smith",30,"Strong")
b.talk()
b.walk()
school类继承---析构
class SchoolMember(object):
member = 0
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
self.enroll()
def enroll(self):
print("just enrolled a new school member [%s]"%self.name)
self.member += 1
def tell(self):
print("---info: %s----"% self.name)
for k,v in self.__dict__.items():
print(" ",k,v)
print("--------end---------")
def __del__(self):
print("开除了[%s]..." % self.name)
SchoolMember.member -= 1
class Teacher(SchoolMember):
def __init__(self,name,age,sex,salary,course):
SchoolMember.__init__(self,name,age,sex)
self.salary = salary
self.course = course
def teaching(self):
print("Teacher [%s] is teaching [%s]"%(self.name,self.course))
class Student(SchoolMember):
def __init__(self,name,age,sex,course,tuition):
SchoolMember.__init__(self,name,age,sex)
self.course = course
self.tuition = tuition
self.amount = 0
def pay_tuition(self,amount):
print("student [%s] has just paid [%s]"% (self.name,amount))
self.amount += amount
t1 = Teacher("Wusir",22,"F*M",3000,"Python")
s1 = Student("HaiTao",30,"M","PYS15",300000)
s2 = Student("LiChuang",12,"M","PYS15",11000)
print(SchoolMember.member)
t1.tell()
s2.tell()