类与类之间调用Computer-CPU-Mouse--看懂它看懂类之间的调用
舉個例子
大家會使用類并且會聲明并且實現類的setter 和 getter方法
那讓我們來更深入的學習,類中包含另一個類的實現方法吧。
題目:
Computer類(電腦類)
該類用于描述一個具體的電腦類,可以對該類進行一些基本的操作
屬性:
1. 電腦品牌???
2. 鼠標? ?
3.?CPU ?
方法:
1、成員變量的set、get方法
2、電腦信息的詳細描述 包括電腦品牌 鼠標信息,CPU信息等等
鼠標類:
鼠標品牌
類別
價格
CPU類:
CPU型號
緩存
價格
解題思路:(有很多種,但大單位為程序員交流方便都做了一些規定,我們還是隨大流,讓大家養成一個良好的書寫習慣。)
定義三個類,因為并沒有完全一樣的屬性可以抽取而只是包含的關系
電腦有cpu和鼠標,但cpu和鼠標不是電腦,所以電腦應該是包含cpu和鼠標,而不是繼承。
在電腦屬性中包含cpu屬性和鼠標屬性即可(當然還可以后其他屬性,只是舉例說明,其他的就不列舉了)
在三個類中分別實現它的getter和setter
在電腦類中實現輸出電腦詳細信息的方法(- (void)showAllDetail;)
以下是實現和main函數,聲明略去
#import?<Foundation/Foundation.h>
#import?"Mouse.h"
#import?"CpuType.h"
//? ? ? ? Computer類(電腦類)
//? ? ? ??該類用于描述一個具體的電腦類,可以對該類進行一些基本的操作
//? ? ? ??屬性:
//? ? ? ? 1.?電腦品牌
//? ? ? ? 2.?鼠標
//? ? ? ? 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;
//?電腦信息的詳細描述?包括電腦品牌?鼠標信息,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?{
//? ? ? ??練習2
//? ? ? ? Computer類(電腦類)
//? ? ? ??該類用于描述一個具體的電腦類,可以對該類進行一些基本的操作
//? ? ? ??屬性:
//? ? ? ? 1.?電腦品牌
//? ? ? ? 2.?鼠標
//? ? ? ? 3. CPU
// ? ? ? ?
//? ? ? ??方法:
//? ? ? ? 1、成員變量的set、get方法
//? ? ? ? 2、電腦信息的詳細描述?包括電腦品牌?鼠標信息,CPU信息等等
// ? ? ? ?
//? ? ? ??鼠標類:
//? ? ? ??鼠標品牌
//? ? ? ??類別
//? ? ? ??價格
//? ? ? ? CPU類:
//? ? ? ? CPU型號
//? ? ? ??緩存
//? ? ? ??價格
?? ? ? ?
? ? ? ??// 1.定義電腦對象
? ? ? ??Computer?*computer = [[Computer?alloc]init];
? ? ? ??char?*comBrand =?"lenovo";
? ? ? ? [computer?setBrand:comBrand];
?? ? ? ?
? ? ? ??// 2.定義鼠標
? ? ? ??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;
}
轉載于:https://blog.51cto.com/343351666/1625933
總結
以上是生活随笔為你收集整理的类与类之间调用Computer-CPU-Mouse--看懂它看懂类之间的调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java知多少(15)字符串
- 下一篇: HDP2.0测试