[英]base and derived classes
如果我有Person類,它將處理所有常見屬性
Person.cs
public class Person
{
public FirstAndLastName {get; set;}
public Health Health {get; set;}
public Personality Personality {get; set;}
}
現在,我將需要Player對象,並且稍后需要使用不同類型的玩家(soccerPlayer,bballplayer等)。由於玩家是一個人,因此我可以使用這種方法
Player.cs
public class Player:Person
{
public Sport Sport {get; set;}
}
現在,我想實現一些基於運動的球員特有的屬性,例如:在籃球小巷中或在足球中打排球(足球)。 你有照片。
Basketball.cs
public class Basketball:Player
{
public int AlleyUpLevel {get; set;}
}
問題:這是創建基類和派生類的正確方法,我的籃球運動員是否應該可以訪問Person類中定義的所有屬性? 謝謝
這是創建基類和派生類的正確方法。 由於您的Basketball
類繼承自Player
類,而Player
類又繼承自Person
,因此, Basketball
確實可以訪問Person
中定義的標記為public
或protected
。 任何標記為private
東西都不能被繼承的類訪問。 還請記住,在許多構造(例如字段和方法)的情況下,缺少訪問修飾符將默認為private
訪問級別。
由於您的財產都是public
,因此任何人 ,不僅是從Person
派生的財產,都有權獲取和設置財產的價值。
您可以考慮將設置器設為private
或protected
,例如
public Personality Personality { get; protected set; }
關鍵字protected
意思是“只能從包含的類和從包含的類派生的類進行訪問”。 另一方面, private
表示“僅從包含的類/結構中訪問”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.