類和物件:
類是物件的藍圖和模板,物件是類的例項,物件是具體的東西,具有屬性和行為,每個物件都是獨一無二的,物件一定屬於某個類。
當把一大堆具有共同特徵的物件的靜態特徵(屬性)和動態特徵(行為)都抽取出來後,就可以定義
出乙個叫做類的東西。
定義類:
在python中,用class來定義類,在類中用之前學過的函式來定義方法,可以將物件的動態特徵描述出來。
class student(object):
def __init__(self, name, age):
#__init__可以為個人繫結名字和年齡
self.name = name
self.age = age
def study(self, grade_name):
print('%d正在看%' %(self.name, grade_name))
建立和使用物件:
定義好乙個類後,可以通過下面的方式來建立物件並給物件發訊息。
def main():
stu1 = student('懟懟', 18)
stu1.study('語文')
if __name__ == '__main__':
main()
訪問可見性:
上面我們給物件繫結的name和age具有怎樣的訪問許可權,在python中,屬性和方法的訪問許可權只有兩種,公開和私有,如果希望屬性是私有的,在給屬性命名時可以用兩個下劃線作為開頭。
class person:
def __init__(self,name):
self.__name = name
def __age(self):
print(self.__name)
print('__age')
def main():
person = person('懟懟')
person.__age()
print(person.__name)
if __name__ == "__main__":
main()
python中並沒有從語法上嚴格保證私有屬性或方法的私密性,在實際開發中,以單下劃線來表示保護屬性。
class person:
def __init__(self, name):
self.__name = name
def __age(self):
print(self.__name)
print('__age')
def main():
person = person('懟懟')
person._person__age()
print(person._person__name)
if __name__ == '__main__':
main()
物件導向的支柱
封裝,繼承,多型。
封裝:隱藏一切可以隱藏的實現細節,只向外界暴露簡單的程式設計介面,在類中的定義方法其實就是把資料和對資料的操作封裝起來了。
物件導向程式設計基礎
當類中的成員變數與成員方法中的引數重名時,使用this,來使用類中的成員變數 不用的話,就是成員方法中的引數 public class test public static void main string args 123 system.out.println this.name abc無參構造方...
物件導向程式設計 基礎
特點 類是物件的資料型別 類是具有相同屬性和行為的一組物件的集合 屬性 描述物件特徵的資料 行為 描述物件能進行的操作 public class 類名 成員變數 屬性 成員方法 行為 建立物件 類名 物件名 new 類名 使用物件 使用成員變數 物件名.變數名 使用成員方法 物件名.方法名 引數列表...
python物件導向程式設計基礎
python物件導向程式設計基礎 1 類的建立和例項化 2 繼承 多型 多重繼承 類的繼承是一種縱向的關係,def class baseclass class類繼承baseclass,擁有baseclass的屬性和方法 3 類的組合 類的組合是一種橫向關係 4 內部屬性 由於python語言沒有pu...