→ thinner:輪胎不是Tire嗎? 12/10 01:33
一次回答你問的三個問題好了
我這樣說好了在Object Oriented的世界裡我們都會將目標需求切分成
以物件為單位的元件在加以組合互動,而類別(Class)則是在物件尚未實體化之前
(所謂實體話是指將物件新生出來,並給定屬性值)的抽象化定義
也就是說呢在你的問題中,車是一個類別,輪胎是一個類別
而給定屬性質的Toyata某型號的車以及給定規格的輪胎就可以被稱為一個物件
依照這個概念去設計你的類別基本上就不會覺得很奇怪
class Tair
{
private int _size = -1;
public int size
{
get { return _size; }
set { _size = value; }
}
}
class Car
{
private string _brand="None";
public string brand
{
get { return _brand; }
set { _brand = value; }
}
private Tair _tairInform=new Tair();
public Tair tairInform
{
get { return _tairInform; }
set { _tairInform = value; }
}
public Car(string inputBand)
{
_brand = inputBand;
}
}
也就假設是說當你產生一台新的Toyota YARIS的車的物件是時候你會這樣做
Car myCar=new Car("Toyota YARIS");
而要指定其輪胎大小也就可以
myCar.Tair.size=10;
不過呢基本上類別和結構的概念已經不太一樣,結構我們一般只會用來
一個用來定義某個物體有相關的屬性的集合
EX: 定義一個結構來描述IP Header各項屬性,Source Addr,Distination Addr...
而類別則是除了定義這個物體相關的數性之外還會定義與這個使用類別成為物件之後
所需相關的操作 EX: 定義人有身高、年齡、體重等等數性 以及 移動、生長等等動作
題外話像get,set這類保留字其實是有點已經破壞原始物件導向程式設計中封裝的原則了
---
是我的認知..不知道有沒有回答道你的問題..XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.129.199