黑马程序员技术交流社区
标题:
对封装的一点理解,分享给大家
[打印本页]
作者:
白月光
时间:
2014-6-11 17:37
标题:
对封装的一点理解,分享给大家
#import <Foundation/Foundation.h>
//定义类:人
@interface Person : NSObject
{
NSString *_name; //姓名
int _age; //年龄
}
//姓名的set和get方法声明
- (void)setName:(NSString *)newname;
- (NSString *)name;
//年龄set和get方法声明
- (void)setAge:(int)newage;
- (int)age;
//同时录入姓名和年龄方法声明
- (void)setName:(NSString *)name2 andAge:(int)age2;
@end
@implementation Person
//姓名set方法实现
- (void)setName:(NSString *)newname
{
_name = newname;
}
//姓名get方法实现
- (NSString *)name
{
return _name;
}
//年龄set方法实现
- (void)setAge:(int)newage
{
_age = newage;
}
//年龄get方法实现
- (int)age
{
return _age;
}
- (void)setName:(NSString *)name2 andAge: (int)age2
{
[self setName : name2];
[self setAge : age2];
}
@end
int main()
{
Person *p = [Person new];
[p setName:@"jack" andAge:22];
//[p setName : @"jack"];
//[p setAge : 22];
NSLog(@"%@ %d",[p name],[p age]);
return 0;
}
复制代码
一开始我就错误的将
NSLog(@"%@ %d",[p name],[p age])写成了
NSLog(@"%@ %d",[p _name],[p _age]),想当然的认为要输出变量的值只要把变量拿过来就可以了,此代码中有封装set和get方法,所以输出要通过get方法的来输出
QQ截图20140611172053.jpg
(148.62 KB, 下载次数: 9)
下载附件
2014-6-11 17:37 上传
运行
作者:
徐开伟
时间:
2014-6-11 21:02
顶一个。
作者:
武星
时间:
2014-6-11 22:10
学习学习
作者:
世俗孤岛
时间:
2015-3-14 11:40
顶一个!
作者:
xiaoxiong
时间:
2015-3-14 11:42
看不懂啊!!:Q:Q
作者:
小白一号
时间:
2015-3-14 15:19
不错,解释的很细致,步骤也很清晰,顶起。
作者:
baby14
时间:
2018-8-13 09:14
多谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2