1、封裝特性 2、繼承特性 3、多型
封裝:將類中的某些部分隱藏起來,物件不能直接使用隱藏起來的屬性和方法,具有保護功能。
封裝格式:雙下劃線屬性或者方法名稱。
繼承:讓類和類之間產生父子關係,子類可以擁有父類的靜態屬性和方法。
python中繼承分為單繼承和多繼承。
繼承的作用:提高**的重複率。
格式:雙下劃線屬性名=值
class girl():
def __init__(self,name,age):
self.name=name
self.__age=age
def setage(self,age):
if age<0 or age>98:
print("火")
self.__age=16
else:
self.__age=age
def getage(self):
return self.__age
zs=girl("張三",20)
zs.setage(21)
print(zs.getage()
私有方法作用:在開發過程中保護核心**。
class phone():
def test(self):
print("test")
def __test1(self):
print("test1")
x=phone()
x.test()
x.__test1() # 報錯
類中 可以訪問
類外/物件外 不可以訪問
子類/子類物件 不可以訪問
lass animal():
def __init__(self,name,age,***):
self.name = name
self.age = age
self.*** = ***
def jiao(self):
print("叫")
def eat(self):
print("吃")
class cat(animal):
def climb(self):
print("爬樹")
class dog(animal):
def swimming(self):
print("游泳")
d=dog("虹貓",6,"公")
c=cat("藍兔",5,"母")
c.eat()
d.swimming()
animal():
def __init__(self,name,age):
self.name=name
self.age=age
class cat(animal):
def __init__(self,name,age,velocity):
self.v=velocity
print("速度",velocity)
super().__init__(name,age)
def jiao(self):
print("喵喵")
class dog(animal):
def __init__(self,name,age,height):
self.h=height
super().__init__(name, age)
def jiao(self):
print("汪汪")
c=cat("波斯",3,24)
d=dog("京巴",5,1.2)
c.jiao()
d.jiao()
class a():
num=6
__num1=2
def __init__(self,x,y):
self.x=x
self.y=y
class b(a):
num=12 #靜態屬性、類屬性
def __init__(self,x,y,z):
self.z=z
super().__init__(x,y)
b=b(1,2,3)
print(b.x)
print(a.num)
print(b.num)
面對物件三大特性
1.封裝 安全,在需要封裝的屬性或者函式前加雙下劃線,並提供讀 寫的介面 1.封裝是物件導向程式設計的一大特點 2.物件導向程式設計的第一步 將屬性和方法封裝到乙個抽象的類中 為什麼說是抽象的,因為類不能直接使用 3.外界使用類建立物件,然後讓物件呼叫方法 4.物件方法的細節都被封裝在類的內部 cl...
python 面對物件 繼承
私有屬性和方法通過在屬性和方法名前新增 得到。私有屬性和方法是物件的隱私,不能通過外界和子類直接訪問 在外界無法訪問到私有屬性和方法 不能直接print列印 可以通過在物件的方法內部訪問私有屬性 子類物件可以通過父類的公有方法間接訪問到私有屬性或私有方法 eg classa def init sel...
python 面對物件 類
一.類體 類體一般有兩部分組成 變數部分,也叫靜態變數,靜態欄位.方法 函式 部分.class person 類體 兩部分 變數部分,方法 函式 部分 mind 有思想 變數,靜態變數,靜態字段 animal 高階動物 faith 有信仰 def init self,name,age,hobby s...