如果要我說明有關「物件導向」的定義,我也忘得差不多了,所以要把塵封已久的Java程式設計相關的書籍拿出來看
物件導向語言需要具備的三個基本特質是「封裝」、「繼承」與「多型」,分別代表「具有層級分類的概念」、「設定基本方法來執行所有物件中多數重疊的部分」,以及「透過不同的方式來達成同樣的目的」;當然,上面這些都只是簡單帶過而已,今天最主要還是在告訴大家「Java與Python在物件導向的差異」,就先來看看Java版本的物件導向吧:
package lin.JCN.iTalthon;
public class Way {
//這個類別用來存放方法,並設定物件在進到該類別內各方法時的執行狀態
String name;
public Way() {
}
public Way(String name) {
this.name = name;
}
public void printer() {
System.out.println("Tester name: " + name);
}
}
public class MainContainer {
//這個類別則是呼叫存放方法的類別,並將物件導入其中
public static void main(String args[]) {
Way w1 = new Way("JCN");
w1.printer();
}
}
//輸出結果如下
//Tester name: JCN
那如果說要把相同的功能轉移到Python上面呢?跟Java又有什麼差別呢?看看下方的實例吧:
class MainContainer(object):
#先架構一個子類別
def __init__(self, name):
#透過這個方法來建立基本值與要存放的資料
self.name = name
def printer(self):
print("Tester name: " + str(self.name))
tester = MainContainer("JCN")
#這個部份其實就跟Java的「呼叫存放方法的類別」有些類似
tester.printer()
#輸出結果如下
#Tester name: JCN