1、类和对象

来源:互联网 发布:mac找不到搜狗输入法 编辑:程序博客网 时间:2024/05/29 04:49

1、类和对象


.h

#import <Foundation/Foundation.h>// 注意文件名称与类名没有什么实质的关系,创造类时最好把文件名和类名设置成一致的,目的方便使用// OC中类的声明标志是:@interface ... @end// Student : 当前类名// NSObject : 父类名// ' : ' : 代表继承关系@interface Student : NSObject// 所有的特征与行为都写在 @interface 和 @end 的内部{    // 声明当前类的特征(实例变量)    @public    NSInteger _num;    // NSInteger就是long类型    NSString *_name;   // 使用OC的字符串,声明name实例变量    CGFloat _score;    // CGFloat就是double类型}// 声明当前类的行为(方法)// 声明自我介绍的方法,没有参数,没有返回值// 注意:OC中的方法,所有的类型都要用小括号括起来- (void)introduceSelf;@end

.m

#import "Student.h"// 实现类的关键字是@implementation ... @end// @implementation后面紧跟要实现的类名// 注意:实现部分不要写父类名@implementation Student// 在类的实现部分内部,编写方法的实现- (void)introduceSelf{    NSLog(@"我叫: %@, 学号是 %ld, 期末考了 %.2f 分", self->_name, self->_num, self->_score);}@end

main.m

#import <Foundation/Foundation.h>#import "Student.h"int main(int argc, const char * argv[]) {    @autoreleasepool {        // 使用类创建对象        Student *stu = [Student alloc];  // 在堆区分配了一段空间,并把这段空间的首地址返回,被stu对象接收        // 给stu发送init消息,目的是给stu对象的实例变量做初始化        stu = [stu init];        // 使用一行代码实现创建对象        // 使用消息嵌套        Student *stu2 = [[Student alloc] init];          // 给对象的实例变量赋值        stu->_num = 1001;        stu->_name = @"keymon";        stu->_score = 98.3;        NSLog(@"num = %ld  name = %@  score = %.2f", stu->_num, stu->_name, stu->_score);        stu2->_num = 1002;        stu2->_name = @"keymon";        stu2->_score = 90.0;        NSLog(@"num = %ld  name = %@  score = %.2f", stu2->_num, stu2->_name, stu2->_score);        // 使用对象的方法        [stu introduceSelf];                 }    return 0;}
0 0
原创粉丝点击