您好,登錄后才能下訂單哦!
舉個例子
大家會使用類并且會聲明并且實現(xiàn)類的setter 和 getter方法
那讓我們來更深入的學(xué)習(xí),類中包含另一個類的實現(xiàn)方法吧。
題目:
Computer類(電腦類)
該類用于描述一個具體的電腦類,可以對該類進(jìn)行一些基本的操作
屬性:
1. 電腦品牌
2. 鼠標(biāo)
3. CPU
方法:
1、成員變量的set、get方法
2、電腦信息的詳細(xì)描述 包括電腦品牌 鼠標(biāo)信息,CPU信息等等
鼠標(biāo)類:
鼠標(biāo)品牌
類別
價格
CPU類:
CPU型號
緩存
價格
解題思路:(有很多種,但大單位為程序員交流方便都做了一些規(guī)定,我們還是隨大流,讓大家養(yǎng)成一個良好的書寫習(xí)慣。)
定義三個類,因為并沒有完全一樣的屬性可以抽取而只是包含的關(guān)系
電腦有cpu和鼠標(biāo),但cpu和鼠標(biāo)不是電腦,所以電腦應(yīng)該是包含cpu和鼠標(biāo),而不是繼承。
在電腦屬性中包含cpu屬性和鼠標(biāo)屬性即可(當(dāng)然還可以后其他屬性,只是舉例說明,其他的就不列舉了)
在三個類中分別實現(xiàn)它的getter和setter
在電腦類中實現(xiàn)輸出電腦詳細(xì)信息的方法(- (void)showAllDetail;)
以下是實現(xiàn)和main函數(shù),聲明略去
#import <Foundation/Foundation.h>
#import "Mouse.h"
#import "CpuType.h"
// Computer類(電腦類)
// 該類用于描述一個具體的電腦類,可以對該類進(jìn)行一些基本的操作
// 屬性:
// 1. 電腦品牌
// 2. 鼠標(biāo)
// 3. CPU
@interface Computer : NSObject
{
char * _brand;
Mouse * _mouse;
CpuType *_cpu;
}
// setmethod
- (void)setBrand:(char *)brand;
- (void)setMouse:(Mouse *)mouse;
- (void)setCpuType:(CpuType *)cpu;
// get method
- (char *)brand;
- (Mouse *)mouse;
- (CpuType *)cpu;
// 電腦信息的詳細(xì)描述 包括電腦品牌 鼠標(biāo)信息,CPU信息等等
// opration method
- (void)showAllDitatil;
@end
#import "Mouse.h"
@implementation Mouse
// set method
- (void)setBrand:(char *)brand{
_brand = brand;
}
- (void)setType:(char *)type{
_type = type;
}
- (void)setPrice:(float)price{
_price = price;
}
// get method
- (char *)brand{
return _brand;
}
- (char *)type{
return _type;
}
- (float)price{
return _price;
}
@end
#import "CpuType.h"
@implementation CpuType
// set method
- (void)setType:(char *)type{
_type = type;
}
- (void)setCache:(int)cache{
_cache = cache;
}
- (void)setPrice:(float)price{
_price = price;
}
// get method
- (char *)type{
return _type;
}
- (int)cache{
return _cache;
}
- (float)price{
return _price;
}
@end
#import <Foundation/Foundation.h>
#import "Computer.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 練習(xí)2
// Computer類(電腦類)
// 該類用于描述一個具體的電腦類,可以對該類進(jìn)行一些基本的操作
// 屬性:
// 1. 電腦品牌
// 2. 鼠標(biāo)
// 3. CPU
//
// 方法:
// 1、成員變量的set、get方法
// 2、電腦信息的詳細(xì)描述 包括電腦品牌 鼠標(biāo)信息,CPU信息等等
//
// 鼠標(biāo)類:
// 鼠標(biāo)品牌
// 類別
// 價格
// CPU類:
// CPU型號
// 緩存
// 價格
// 1.定義電腦對象
Computer *computer = [[Computer alloc]init];
char *comBrand = "lenovo";
[computer setBrand:comBrand];
// 2.定義鼠標(biāo)
Mouse * mouse = [[Mouse alloc]init];
char * mouseBrand = "jack";
char * mouseType = "hit";
float mousePrice = 1000;
[mouse setBrand:mouseBrand];
[mouse setType:mouseType];
[mouse setPrice:mousePrice];
[computer setMouse:mouse];
// 3.定義CPU
CpuType *cpu = [[CpuType alloc]init];
char *cpuType = "UFO";
int cpuCache = 199;
float cpuPrice = 788.00;
[cpu setType:cpuType];
[cpu setCache:cpuCache];
[cpu setPrice:cpuPrice];
[computer setCpuType:cpu];
// 4.打印信息
[computer showAllDitatil];
}
return 0;
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。