Objective-C 面向对象编程(上)

1、类的定义(类的定义=类的声明+类的实现)

类的声明

@interface 类名:父类名
{
//用来描述类的共同特征,通过声明**变量**来表示,通常称为属性
}
//用来描述类具有的行为,通过声明**方法**来表示
@end

类的实现

@implmentation 类名
//方法的具体实现
@end

2、类的对象的创建

类的对象的创建一般有两种方式

  • 类名 *对象名 = [类名 new];
  • 类名 *对象名 = [[类名 alloc] new];

3、访问对象的属性

对象名 ->属性名
tips:一般情况下,对象的属性是不允许直接被外界访问的(包括类创建的对象),如果允许对象的属性被外界访问,需要在生命属性的前面加一个@public关键字。

4、方法的声明,方法的实现,以及方法的调用

方法的声明
方法类型(返回值类型)方法名:(参数类型)参数1:(参数类型)参数2:……;
tips:上述的方法类型分为两种,类方法和对象方法,类方法的方法类型用"+“表示,对象方法的方法类型用”-"表示

方法的实现
方法类型(返回值类型)方法名:(参数类型)参数1:(参数类型)参数2:……
{
//具体实现的代码
}

方法的调用
[对象名 方法名:参数1:参数2:参数3……];

5、对象作为方法的参数

Dog.h

#import <foundation/foundation.h>
@interface Dog:NSObject
{
	@public
	NSString *_name;
}
-(void)shout;
@end	

Dog.m

#import "Dog.h"
@implementation Dog
-(void)shout{
	NSLog(@"汪汪汪");
}
@end

Person.h

#import <foundation/foundation.h>
#import "Dog.h"
@interface Person:NSObject
{
	@public
	NSString *_name;
	int _age;
}
-(void)test:(Dog *)dog;//Dog类型的对象作为test()方法的参数
@end

Person.m

#import "Person.h"
@implementation Person
-(void)test:(Dog *)dog{
	[dog shout];
}
@end

main.m

#import <foundation/foundation.h>
#import "Person.h>
int main(int argc,const char * argv[]) {
	Person *p1=[Person new];
	DOg *d1=[Dog new];
	[p1 test:d1];//person类对象p1调用test方法,d1是test方法的参数
	return 0;
}

6、对象作为方法的返回值

Person.m

#import "Person.h"
@implementation Person
-(Dog *) test{//表示返回值是Dog类型的对象
	DOg *dog=[Dog new];
	dog->name=@"大黄";
	dog->age=5;
	return dog;
@end

main.m

#import <foundation/foundation.h>
#import "Person.h"
int main(int argc,const char * argv[]) {
	Person *p1=[Person new];
	Dog *d1=[p1 test];
	NSLog(@"一条名叫%@的狗,今年%d岁了",d1->name,d1->age);
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值