BC404學習筆記-ABAP面向物件程式設計(一)-基礎
只摘錄注意事項和難以理解的地方。總的來說和JAVA、C++面向物件程式設計技術差不太多。類、繼承、封裝之類的概念在abapoo中也都有體現。面向物件的物件簡單理解就是現實世界的事物,到程式設計世界就用類來表現,事物的屬性和一些行為就對應類的變數和方法。
靜態變數、方法
1.宣告的時候用CLASS-DATA、CLASS-METHODS。
引用
使用 DATA: AAA TYPE REF TO BBB宣告一個引用變數AAA,AAA其實就是一個BBB型別的指標,此時只是宣告並沒有在記憶體中生成一個BBB型別的物件。
CREATE OBJECT AAA.就會在記憶體中建立一個
上圖看到airplane1和 airplane2都指向各自例項,如果執行airplane1=airplane2,之後,那麼airplane1就會指向airplane2所指向的例項,並且原airplane1所指向的例項會被系統回收。系統會自動回收(刪除)沒有被指向的例項(物件),即如果一個例項沒有被一個指標所指向,那麼它就會被系統刪除,回收空間。
對於引用型別的比較,如 IF airplane1 = airplane2,它們比較的是地址,而不是內容。
訪問類屬性呼叫類方法
屬性:
1.類名=>屬性/方法名
2.
方法:
1.CALL METHOD: 類名=>方法名
2.CALL METHOD: 例項=>方法名
總而言之,用例項物件訪問屬性或方法用“->”,直接用類名訪問的方式用“=>” ,直接用類名的好處是不用例項化一個物件然後再呼叫方法。
建構函式 constructor和java一樣,例項被建立(CREATEOBJECT)的時候呼叫,一般用來初始化一些資料。有了建構函式,就可以CREATE OBJECT 的時候就傳引數進去。
類似:
REDEFINITION
用於繼承裡子類重寫父類方法
P135