iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 15
0
Software Development

從零開始的Python練成記系列 第 15

[Day 15]是時候要來點有挑戰性的:物件導向in Python

  • 分享至 

  • xImage
  •  

如果要我說明有關「物件導向」的定義,我也忘得差不多了,所以要把塵封已久的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

上一篇
[Day 14]用二進位運算法來變魔術
下一篇
[Day 16]物件導向化:Bubble Sort
系列文
從零開始的Python練成記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言