1.面向对象的思想
程序中属性和方法就是变量和函数。
class Car:
corlor=" "
def run(self):
print("go go go !")
bmw= Car() #类中实例化出对象
bmw.corlor='red'# 属性---变量
print(bmw.corlor)
bmw.run()# 方法---函数
2.属性和方法
class Human:
"""
this Human class
"""
name ="whiplash" #类属性
gender = "male"
age = "25"
__money=8000 #类私有属性
def __init__(self,name,age):#初始化 __init__构造函数
print('#'*20)
self.name =name#实例对象的属性
self.age = age
def __str__(self):
msg="hi i am object of Human"
return msg
def say(self):
"""
this is say functuion
"""
print("my name is %s ,my money %d yuan"% (self.name,self.__money))
self.__lie()
def __lie(self):
print ("i have 5000 yuan")
print(Human)#类
print(Human.__doc__)
print(Human.say.__doc__)
Whip=Human('zhang',25)#实例化对象,自动执行
print(Whip)
print(Whip.name,Whip.age)
Whip.name='ZHAN'
#print(Whip.__money)
Whip.say()
3. 封装 多态 继承
3.1 封装
封装(实际封装python中的封装只是一个约定):
第一层面的封装:类就好像一个袋子,这就是一种封装
第二层面的封装:类中定义私有的,只有类内部使用,外部无法访问
3.2 多态
同一个方法在不同的类中具有不同的功能
class Triangle:
def __init__(self,w,d):
self.w=w
self.d=d
def getarea(self):
area= self.d*self.w/2
return area
class Squere:
def __init__(self,size):
self.size=size
def getarea(self):
area= self.size*self.size
return area
a=Triangle(5,5)
a.getarea()
print(a.getarea())
b=Squere(5)
b.getarea()
print(b.getarea())
#不同类中,同一个方法名,不同功能