黑马程序员—OC学习笔记—多个参数方法,匿名类,自定义对象初始化方法
来源:互联网 发布:什么是大数据分析 编辑:程序博客网 时间:2024/05/16 05:36
———–Java培训、Android培训、IOS培训、.Net培训、期待与您交流!————
本节是个人学习过程中的笔记,供初学者一起学习,欢迎大家批评指正,留言参与讨论,谢谢。
本节内容,OC多个参数方法,匿名类,自定义对象初始化方法,代码如下:
#import <Foundation/Foundation.h>@interface Car : NSObject{ @public int speed; char* brand;}-(Car*)initWithSpeed:(int)speed CarBrand:(char*)brand;-(void)showCarInfo;-(int)compareSpeedWithOtherCar:(Car*) anotherCar;//两个参数-(int)getEqualSpeedWithFirstCar:(Car*)firstCar SecondCar:(Car*)secondCar;//3个参数,求平均速度@end@implementation Car-(Car*)initWithSpeed:(int)initSpeed CarBrand:(char*)initBrand //形参不能同名,否则就会覆盖{ (self->speed) = initSpeed; //self可以省略 (self->brand) = initBrand; return self;}//以下方式,测试成功//-(Car*)initWithSpeed:(int)s CarBrand:(char*)b//{// speed = s;// brand = b;// return self;//}-(void)showCarInfo{ NSLog(@"This %s's speed is %dkm/h!",brand,speed);}-(int)compareSpeedWithOtherCar:(Car *)anotherCar{ [self showCarInfo]; [anotherCar showCarInfo]; int result = speed - anotherCar->speed; NSLog(@"Speed compare result is %dkm/h!",result); return result > 0 ? 1 :(result < 0 ? -1 : 0);}-(int)getEqualSpeedWithFirstCar:(Car*)firstCar SecondCar:(Car*)secondCar{ [self showCarInfo]; [firstCar showCarInfo]; [secondCar showCarInfo]; int equal = (speed + firstCar->speed + secondCar->speed)/3; NSLog(@"These three cars'equal speed is %dkm/h!",equal); return equal;}@endvoid testCar(){ Car* bmw = [Car new]; bmw->speed = 200; bmw->brand ="BMW"; Car* benz = [Car new]; benz->speed = 220; benz->brand ="BENZ"; Car* moto = [Car new]; moto->speed = 120; moto->brand ="DaYangMOTO"; Car* sanlun = [Car new]; sanlun->speed = 60; sanlun->brand ="FengHuangSanLun"; [bmw compareSpeedWithOtherCar: benz]; [bmw getEqualSpeedWithFirstCar: benz SecondCar: sanlun]; //这种方式傻傻的// Car* taxis[] = {[Car new],[Car new],[Car new]};// Car* hunda = taxis[0];// hunda->speed = 200;// hunda->brand ="HUNDA";// [hunda showCarInfo];}void testAnonymityClass(){ [[Car new] showCarInfo]; [[[Car new] initWithSpeed:80 CarBrand:"Anony"] showCarInfo]; //匿名的结果,就是没有指针指向这个对象,只能进行一次性操作,就如路人甲碰面不再出现}void testInit(){ Car* tianlai = [Car new]; [tianlai initWithSpeed:150 CarBrand:"TianLai"]; [tianlai showCarInfo]; //一句话完成对象创建和初始化 Car* suv = [[Car new] initWithSpeed:250 CarBrand:"SUV"]; [suv showCarInfo]; [suv compareSpeedWithOtherCar: tianlai];}int main(){ testCar(); testAnonymityClass(); testInit(); return 0;}
程序运行结果如下:
0 0
- 黑马程序员—OC学习笔记—多个参数方法,匿名类,自定义对象初始化方法
- 黑马程序员——OC基础---基础小结(类方法,匿名对象,封装)
- 黑马程序员——OC学习——类方法和匿名类
- 黑马程序员-OC中对象方法的声明与调用(多个参数)
- 黑马程序员-IOS学习笔记 OC 关于对象方法类方法的一些概念
- 黑马程序员—OC学习笔记—类方法与实例方法解析
- 黑马程序员——OC基础语法----类、对象、方法
- 黑马视频学习笔记-OC-self,类方法,对象方法
- 黑马程序员-OC笔记(二)类、对象与方法
- 黑马程序员-OC学习笔记-----方法
- 黑马程序员——OC—类方法及匿名类
- 黑马程序员——OC基础学习(二)---对象方法和类方法的学习知识总结
- 黑马程序员--OC自学笔记---03类方法、匿名类、封装、关系、重载、static
- 黑马程序员——OC类方法
- 黑马程序员——OC语言基础---对象和方法
- 黑马程序员--学习OC类方法
- 黑马程序员--OC自学笔记---01OC简介、面向对象、类、方法
- 黑马程序员——OC中的类方法和对象方法
- const 迭代器和const 迭代型
- 解决Android下NoClassDefFoundError错误
- 【打表 or 规律】ZOJ 2965 Accurately Say "CocaCola"!
- 在游戏里,我是怎样做出分身效果?
- NDK编译c包含C++头文件 error: unknown type name 'class' 的解决方法
- 黑马程序员—OC学习笔记—多个参数方法,匿名类,自定义对象初始化方法
- UserControl 中TagPrefix与TagName
- ubuntu虚拟机网络设置+SSH服务安装
- TextView动态改变颜色
- dedecms 全局配置变量缓存
- 详解 Too many open files
- Auto Flow Control (AFC) 自动流控制 与 FIFO
- HPU1179 Ollivanders: Makers of Fine Wands since 382 BC.【二分图最大匹配】
- Populating Next Right Pointers in Each Node