————————java培训、Andoroid培训、IOS培训、.Net培训、期待与您交流!————————
类名:Car
属性:轮胎个数、时速
行为:跑
完整的写一个类:类的声明和实现
#import <Foundation/Foundation.h>
//1、类的声明
@interface Car:NSObject //NSObject继承基类,使Car具备创建对象能力
{
//大括号内声明对象属性
@public
//属性不能初始化,不能用static等关键字修饰
int wheels;//轮胎个数
int speed;//时速
}
//此处声明对象方法
//方法(行为):方法名、参数、返回值(声明、实现)
//OC对象方法以-开头
//OC方法中任何数据类型用()括住
- (void)run;
//不能将实现放在此处嵌套
@end
//2、类的实现
@implementation Car
//实现对象方法
- (void)run
{
NSLog(@"有%d个轮子,车速为%dkm/h的车跑起来了",wheels,speed);
}
@end
int main()
{
Car *p=[Car new];//执行Car类new行为创建新对象,并返回地址给指针p
//给p所指对象的属性负值
p->wheels=4;
p->speed=200;
//给对象发送run消息
[p run];
return 0;
}
方法与函数的区别
方法:对象方法以-开头
对象方法声明介于@interface和end之间
对象方法实现写在@implementation和end之间
对象方法只能由对象调用
对象方法归对象所有
函数:函数在文件任意位置,对文件所有
不依赖于对象
函数不能通过对象访问成员变量
匿名对象
[[Car new]run];
方法的声明和实现
在OC中一个参数对应一个冒号,冒号前有描述信息
- (int)sumWithNum1:(int)num1 andNum2:(int)num2;//两数之和的方法声明
- (int)sumWithNum1:(int)num1 andNum2:(int)num2 //两数之和的方法实现
{
return num1+num2;
}
其中方法名是sumWithNum1 andNum2;参数为num1,num2;