子類重寫父類Property OC

2022-09-01 05:21:10 字數 748 閱讀 1439

於是博主就新建了個專案來測試這個問題。看圖↓

testclass1繼承nsobject,testclass2繼承testclass1,有個共同的屬性name。

如果是這樣直接設定或者訪問tc2的name屬性是沒什麼問題的,繼續看圖↓

讀者可能會覺得很奇怪吧,查閱資料發現,原來在子類重寫(可能用重寫來說有些不當)父類的屬性,編譯器不會合成帶下劃線的屬性,則需要自己手動合成setter和getter,否則這個屬性將由父類實現,也就是說如果子類沒有手寫set和get方法,宣告的@property相當於沒寫,這時候應該明白上圖的原因了吧(understand?)。

因為我在tc1(tc2的父類)手寫了set方法

總結ps:聽說這種情況在xcode7下會有警告

子類繼承父類重寫父類的屬性值問題

試想一下 的執行結果 package com.syc.test public class a class fatherclass class sonclass extends fatherclass 程式的執行結果是 你想對了嗎?我們稍微做乙個改變,繼續試想一下 的執行結果 package com....

Java父類呼叫被子類重寫的方法

父類 public class father public void talking 子類 public class son extends father public static void main string args 輸出 son is talking 說明 1 父類有兩個方法 talki...

子類繼承父類時候的重寫和過載

class a public class b extends a 正確,重寫父類方法,可以擴大訪問許可權 private int method1 int a,int b 錯誤,重寫父類方法,不能降低了訪問許可權 private long method1 int a,int b 錯誤,重寫父類方法,不...