一、類
創建類:
class Person():
pass
創建實例:
variable = Person()
給實例綁定屬性,例如綁定name和age:
def __init__(self,name,age):
self.name = name
self.age = age
案例
class Person():
def __init__(self,name,age):
self.name = name
self.age = age
ba = Person('python',10)
print(ba.name,ba.age)
在類中封裝方法:
添加一個打印的方法printPerson(self)
class Person():
def __init__(self,name,age):
self.name = name
self.age = age
ba = Person('python',10)
def printPerson(self):
print(self.name,self.age)
調用該方法
printPerson(ba)
二、私有變量
Python中,在變量前加上兩個下劃線__,即私有變量,相當於Java中private。如下把name設置爲私有,age不變,則name外部不可直接訪問。
def __init__(self,name,age):
self.__name = name
self.age = age
外部如需獲取私有變量__name,可在Person類中定義get_name()方法,相當於Java中的get方法如:
class Person():
def __init__(self,name,age):
self.__name = name
self.age = age
#get方法
def get_name(self):
return self.__name
ba = Person('python',10)
print(ba.get_name())
外部如需修改私有變量__name,同樣可在類中定義set_name()方法,相當於java中的set方法,可以看到以下代碼,初始化變量ba的name = python,將ba.set_name = java,最後打印出的結果name值爲”java“,如:
class Person():
def __init__(self,name,age):
self.__name = name
self.age = age
#get方法
def get_name(self):
return self.__name
#set方法
def set_name(self,name):
self.__name = name
ba = Person("python",1)
ba.set_name("java")
print(ba.get_name())
三、繼承
繼承是指子類繼承父類的特徵和行爲,如有 父類Animal,子類Cat,Cat繼承Animal:
Java版
class Cat extends Animal{
}
Python版
class Cat(Animal):
四、多態
Python中繼承與多態的思想與Java的並無兩樣。
多態是指同一個行爲具有多個不同表現形式或形態的能力。