Object-C学习笔记(二)-----对象的创建和类方法的调用
2013-04-04 12:00
316 查看
既学习笔记一 helloworld项目,
在当前项目所在的xcode中,按 command+N ,出现一个创建类的向导:如图
创建一个oc 类, 选择其父类为NSObject ,命名为Student ;
系统会自动生成相应的 。h和。m文件
这里我说下关于要继承 NSObject的 个人见解,
在java中创建一个类,可以不继承任何类,因为系统会在该类的内部自动添加一个无参的构造方法,那么构建该类的对象时,可以调用该 无参构造方法来初始化一个该类的对象
但是再oc中,应该不存在这一机制,所以需要继承一个父类来调用父类的方法来构造一个对象。 如下代码:
Student *student=[[Studentalloc]
init];
alloc应该是 Student类的父类的方法, 调用该方法 后,Returns a new instance of the receiving class. (alloc
方法的api说明) 但是此时并没有完成初始化一个对象的过程,
还要执行init 方法来完成该对象的初始化过程,官方 api 说明为:You must use an
to complete
the initialization process (翻译:你必须使用 init... 这样的方法来完成初始化过程)
接着上面的说:
创建一个 新类之后,在该类的。h文件中写上想要的属性,及其类方法。
代码如下;
Student。h文件
Student。m文件
类方法的调用
main。m文件
在当前项目所在的xcode中,按 command+N ,出现一个创建类的向导:如图
创建一个oc 类, 选择其父类为NSObject ,命名为Student ;
系统会自动生成相应的 。h和。m文件
这里我说下关于要继承 NSObject的 个人见解,
在java中创建一个类,可以不继承任何类,因为系统会在该类的内部自动添加一个无参的构造方法,那么构建该类的对象时,可以调用该 无参构造方法来初始化一个该类的对象
但是再oc中,应该不存在这一机制,所以需要继承一个父类来调用父类的方法来构造一个对象。 如下代码:
Student *student=[[Studentalloc]
init];
alloc应该是 Student类的父类的方法, 调用该方法 后,Returns a new instance of the receiving class. (alloc
方法的api说明) 但是此时并没有完成初始化一个对象的过程,
还要执行init 方法来完成该对象的初始化过程,官方 api 说明为:You must use an
init...method
to complete
the initialization process (翻译:你必须使用 init... 这样的方法来完成初始化过程)
接着上面的说:
创建一个 新类之后,在该类的。h文件中写上想要的属性,及其类方法。
代码如下;
Student。h文件
#import <Foundation/Foundation.h> @interface Student : NSObject { int age; NSString *name; } -(void) show; -(void) setAge:(int)a; -(NSString*) name; -(void) setName:(NSString *) n; -(NSString *) getName; @end
Student。m文件
#import "Student.h" @implementation Student -(void) show { NSLog(@"我的名字:%@,我的年龄:%i",name,age); NSLog(@"会不会调用set方法呢"); self.name=@"张三"; } -(void) setAge:(int)a { age=a; } -(void)setName:(NSString *)n { NSLog(@"会调用setName啊"); name=n; } -(NSString *)name { NSLog(@"会调用name"); return name; } -(NSString *)getName { NSLog(@"会调用getName方法"); return name; } @end
类方法的调用
main。m文件
#import <Foundation/Foundation.h> #import "Student.h" int main(int argc, const char * argv[]) { @autoreleasepool { NSString *hello=@"object—c 你好"; NSLog(@"%@",hello); Student *student=[[Student alloc] init]; [student setName:@"郭靖"]; [student setAge:20]; [student show]; [student name]; student.name=@"黄蓉"; NSLog(@"%@",student.name); } return 0; }
相关文章推荐
- 使用反射-动态创建对象及调用对象方法
- java基础-反射3(反射,反射创建对象,操作对象属性,调用对象方法)
- java创建一个子类对象是会调用父类的构造方法会不会创建父类
- C#反射 创建对象,调用方法
- java笔记 对象的创建和对象调用方法的详细过程
- 创建运行时类的对象,调用指定的属性方法构造器
- iOS小练习,创建对象,初始化成员变量,对象调用方法
- 使用反射-动态创建对象及调用对象方法
- java 和 JavaScript都可以在创建一个对象时,就可以通过这个对象调用相应方法
- Objective-C - 创建对象和调用方法
- 黑马程序员--Java基础加强--07.【反射创建对象 操作字段 调用方法的异同】【个人总结】
- js创建调用ocx对象的几种方法,检测ocx是否可用
- day5 面向对象编程思想 面向对象编程的特点 对象的创建和初始化 方法的调用
- javascript中 对象创建的三种方式及其调用方法
- 子类继承父类时,创建对象,构造方法的调用问题
- 我们在创建对象的时候,为什么要调用构造方法并且要给构造方法传入实参???
- 编写类A,该类创建的对象包含一个方法f输出英文字母表,再编写一个A类的子类B,要求必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字线表,而且调用子类新增的方法g输出希腊字
- JS_创建对象+调用对象方法
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- 用JAVA语言编写程序:包含两个类,一个类Cricle中包含计算圆周长,面积的方法。在另一个类Compute中给出半径值为10,创建对象,并调用Cricle类中的方法,计算该对象的面积、周长并显示出结