---恢復內容開始---
Python里的類
- 對象=屬性+方法;
- 對象的屬性主要是指主要的特征和參量,而方法主要是指函數;
- 類是一個具有一定特征和方法的集合,而對象是類的一個;類和對象的關系就如同模具和用這個模具制作出的物品之間的關系。一個類為它的全部對象給出了一個統一的定義,而他的每個對象則是符合這種定義的一個實體,因此類和對象的關系就是抽象和具體的關系
- 類的創立一般以大寫字母為開頭
類的創立舉例如下:
class Turtle:
%特征參量:
color = "green"
weight = 10
legs = 4
shell = True
mouth = "大嘴"
%方法
def climb(self):
print("我正在很努力地向前爬...")
def run(self):
print("我正在飛快地向前跑...")
def bite(self):
print("咬死你咬死你")
def eat(self):
print("有得吃,滿足")
def sleep(self):
print("困了,睡覺了...")
- OO:面向對象(Object Oriented),python是一種純粹的面向對象的編程語言
- 面向對象編程的特征:
(1)封裝:對外部隱藏對象的工作細節
(2)繼承:子類自動共享父類之間數據和方法的機制
(3)多態:可以對不同類的對象調用相同的方法,產生不同的結果
例如:
>>> class Mylist(list): %繼承
pass
>>> list2=Mylist()
>>> list2.append(2)
>>> list2
[2]
>>> class A:
def fun(self):
print("woshixiaoa")
>>> class B:
def fun(self):
print("woshixiaob")
>>> a=A()
>>> b=B()
>>> a.fun() %多態
woshixiaoa
>>> b.fun()
Woshixiaob %整體封裝
三者之間的關系如下圖所示:
7、舉例:屬性:長和寬版權
方法:設置長和寬 -> setRect(self),獲得長和寬 -> getRect(self),獲得面積 -> getArea(self)提示:方法中對屬性的引用形式需加上 self,如 self.width
實現如下:
class Rectangle:
length = 5
width = 4
def setrect(self):
print("請輸入矩形的長和寬...")
self.length = float(input("長:"))
self.width = float(input("寬:"))
def getrect(self):
print("這個矩形的長是:%.2f 寬是:%.2f" % (self.length, self.width))
def getarea(self):
c =self.length * self.width
print(c)
a = Rectangle()
a.setrect()
a.getrect()
a.getarea()