.m文件spa
//.net
// main.m3d
// Objective-c 繼承指針
// Created by 非凡 on 15/10/10.orm
// Copyright (c) 2015年 非凡. All rights reserved.對象
//繼承
#import <Foundation/Foundation.h>get
//引入其餘類的頭文件是讓你實力化的對象認識這是什麼鬼it
//引入Car頭文件io
#import "Car.h"
//引入zilei頭文件
#import "zilei.h"
//引入Father頭文件
#import "Father.h"
//引入Son頭文件
#import "Son.h"
//引入chievement頭文件
#include "chievement.h"
//引入Jisuan頭文件
#include "Jisuan.h"
int main(int argc, const char * argv[]) {
NSLog(@"--------------------------------------------");
//父類
//建立對象或實例化對象
Car* _car=[Car new ];
//調用實例化後的方法
[_car setNumber:4];
[_car run];
//繼承後的子類,子類能夠繼承父類的方法和屬性
//建立對象或實例化對象
zilei* zx =[zilei new];
//調用實例化後的方法
[zx setNumber:5];
[zx setName:@"雪弗萊"];
[zx setSpeed:80];
[zx run ];
//父親兒子跑跳練習
NSLog(@"--------------------------------------------");
//建立對象或實例化對象
Father* ability1=[Father new];
//調用實例化後的方法
[ability1 setNumber:2];
[ability1 run];
[ability1 jump];
//建立對象或實例化對象
Son* ability2=[Son new];
//調用實例化後的方法
[ability2 set_Number:1];
[ability2 run];
[ability2 jump];
[ability2 run];
//父類的指針指向子類,調用的是子類的方法
//多態應用
//多態以類做爲參數,那麼就只能輸入類名,其餘參數均無效
NSLog(@"-------------------------------------");
[ability2 duotai:ability1];
NSLog(@"--------------------------------------------");
//練習2練習封裝(屬性的封裝)
//建立對象或實例化對象
chievement* perform=[chievement new];
//調用實例化後的方法
[perform setOc_achievement:30];
[perform setC_achievement:20];
[perform setZongfen];
[perform setPingjunfen];
[perform printf];
//調用返回值
// [perform setZongfen];
//[perform setPingjunfen];
//打印返回值
NSLog(@"總和爲:%.2f 平均值爲:%.2f",[perform setZongfen],[perform setPingjunfen]);
NSLog(@"--------------------------------------------");
//練習三
//建立對象或實例化對象
Jisuan* jieguo=[Jisuan new];
//調用實例化後的方法
// 輸入參數
[jieguo setA:13 setB:5];
NSLog(@"和值爲:%i,平均值爲:%i",[jieguo Hezhi], [jieguo Pingjunshu]);
}
return 0;
}
zilei.h文件
#import <Foundation/Foundation.h>
//引入Car父類頭文件,讓子類知道Car是什麼。
#import "Car.h"
//子類也能夠有本身的屬性和本身的方法
@interface zilei :Car{
NSString * name;
int Speed;
}
//設置屬性
-(void)setSpeed:(int)newSpeed;
-(void)setName:(NSString*)newName;
//設置方法
-(void)run;
-(void)_run;
@end
zilei.m文件
//
// zilei.m
// Objective-c 繼承
//
// Created by 非凡 on 15/10/10.
// Copyright (c) 2015年 非凡. All rights reserved.
//
#import "zilei.h"
@implementation zilei
-(void)run{
//super的意思是父類,super能夠調用父類的方法
//[super run];
//self 的意思是自己,self能夠調用本類中的方法
[self _run];
//NSLog(@"%i車是%@,的速度是%i",_number,name,Speed);
}
-(void)setSpeed:(int)newSpeed{
Speed=newSpeed;
}
-(void)_run{
NSLog(@"%i車是%@,的速度是%i",_number,name,Speed);
}
-(void)setName:(NSString *)newName{
name=newName;
}
@end
Father.m文件
#import "Father.h"
@implementation Father
-(void)setNumber:(int)newNumber{
number=newNumber;
}
-(void)run{
NSLog(@"父親和兒子都能跑");
}
-(void)jump{
NSLog(@"父親能跳%i米",number);
}
//多態用法
//當你將類做爲參數類型時,就是對不一樣的方法及屬性響應不一樣
-(void)duotai:(Father*)newduotai{
NSLog(@"父親能跳%i米",number);
}
@end