---------------
FKPerson.m ---------------
#import
"FKPerson.h"
@implementation FKPerson
{
int
_testAttr;
//
隐藏的成员变量
}
- (
void
) setName:(
NSString
*) n andAge: (
int
) a
{
_name = n;
_age
= a;
}
- (
void
) say: (
NSString
*) content
{
{
NSLog(@"%@" , content);
}
- (
NSString
*) info
{
{
[self test];
return
[
NSString
stringWithFormat
:
@"
我的名字为:
%@
,年龄为:
%d
。
"
,
_name
,
_age
];
}
- (
void
) test
//
被隐藏的方法
{
NSLog(@"--只在实现部分定义的test方法--");
}
+ (
void
) foo
{
{
NSLog(@"FKPerson类的类方法,通过类名调用");
}
@end
一、编写本节代码的具体步骤:
1.参照上一节。
二、本节代码涉及到的知识点:
1.从@implementation到@end,这一部分是类的实现部分。
2.类的实现部分,主要用来实现该类的方法。
3.类的实现部分,也可以在类名后面写“:父类名”,但既然类的声明里面已经写过一次了,此处就没必要再写一次。
类的实现部分,也可以声明成员变量,但这些成员变量只能在当前类使用,所以相当于是隐藏的成员变量。
类的实现部分,也可以定义没有声明过的类的方法,但这些没有声明就直接定义的方法,只能在类的实现部分使用。
4.上面第四行代码中,方法的形参名跟接口文件中声明的方法的形参名不一样,这是可以的。
因为对于OC而言,方法的形参名仅仅相当于一个占位符,声明的时候与实现的时候,形参名不一样是可以的。