易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Objective-C语法之创建类和对象
1、创建类
1.1、新建Single View app 模版项目,按Command + N 新建文件,创建类Student ,继承与NSObject
1.2、生成student.h 和student.m
#import <Foundation/Foundation.h>
@interface Student : NSObject
@end
#import "Student.h"
@implementation Student
@end
1.3、在头文件里添加类成员变量和方法
@interface
#import <Foundation/Foundation.h>
@interface Student : NSObject
{
NSString *studentName;
NSInteger age;
}
-(
void
) printInfo;
-(
void
) setStudentName: (NSString*) name;
-(
void
) setAge: (NSInteger) age;
-(NSString*) studentName;
-(NSInteger) age;
@end
@interface 类的开始的标识符号 ,好比Java 或 C 语言中的Class
@end 类的结束符号
继承类的方式:Class:Parent,如上代码Student:NSObject
成员变量在@interface Class: Parent { .... }之间
成员变量默认的访问权限是protected。
类成员方法在成员变量后面,格式是:: scope (returnType) methodName: (parameter1Type) parameter1Name;
scope指得是类方法或实例化方法。类方法用+号开始,实例化方法用 -号开始。
1.4、实现类方法
@implementation
#import "Student.h"
@implementation Student
-(
void
) printInfo
{
NSLog(@
"姓名:%@ 年龄:%d岁"
,studentName,studentAge);
}
-(
void
) setStudentName: (NSString*) name
{
studentName = name;
}
-(
void
) setAge: (NSInteger) age
{
studentAge = age;
}
-(NSString*) studentName
{
return
studentName;
}
-(NSInteger) age
{
return
studentAge;
}
@end
1.5、在View中创建并初始化,调用方法。
- (
void
)viewDidLoad
{
[super viewDidLoad];
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Student *student = [[Student alloc]init];
[student setStudentName:@
"张三"
];
[student setAge:10];
[student printInfo];
[pool release];
}
Sutdent *student = [[Sutdent alloc] init]; 这行代码含有几个重要含义
[Student alloc]调用Student的类方法,这类似于分配内存,
[object init]是构成函数调用,初始类对象的成员变量。
打印结果:
姓名:张三 年龄:10岁
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图