OC基础语法

头文件

 1 @interface Student : NSObject{
 2     int age;
 3     int height;
 4 }//成员变量的声明区间,成员变量必须在此声明
 5
 6 - (int)age;//本来是getAge,但是OC的习惯是用变量来命名get方法
 7 - (void)setAge:(int)newAge;
 8 //多形参的函数写法比较特别
 9 - (void)setAge:(int)newAge andHeight:(int)newHeight;
10 @end//类的结束标记,必须写

对应的m文件为

 1 #import "Student.h"
 2 @implementation Student
 3
 4 - (int)age{
 5     return age;
 6 }
 7 - (void)setAge:(int)newAge{
 8     age = newAge;
 9 }
10 - (void)setAge:(int)newAge andHeight:(int)newHeight{
11     age = newAge;
12     height = newHeight;
13 }
14 @end

对象的创建和方法调用

//OC创建对象分2步,先调用静态无参函数alloc申请内存,在调用静态无参函数init初始化
//1. Student *stu = [Student alloc];//仅仅为对象分陪内存空间
//2. stu = [stu init];//真正创建对象
//以上2步一般简写为:
Student *stu = [[Student alloc] init];
//设置
[stu setAge:100];
[stu setAge:100 andHeight:50];
//获取
NSLog(@"age is %i",[stu age]);
[stu release];//对象使用完毕要释放内存

对象的构造方法

 1 @interface Student{
 2     int _age;//标准写法
 3     int _no;
 4 }
 5 - (void)setAge:(int)age;
 6 - (int)age;
 7 - (void)setNo:(int)no;
 8 - (int)no;
 9 //构造方法
10 - (id)initWithAge:(int)age andNo:(int)no;
11 @end

对应的m文件:

 1 #include "Student.h"
 2 @implementation Student
 3
 4 - (int)age{
 5     return _age;
 6 }
 7 - (void)setAge:(int)age{
 8     _age = age;
 9 }
10 //...
11 //实现构造方法
12 - (id)initWithAge:(int)age andNo:(int)no{
13     //以下写法不严谨
14     //self = [super init];
15     //_age = age;
16     //_no = no;
17     if(self=[super init]){
18         _age = age;
19         _no = no;
20     }
21     return self;
22 }
23 @end
时间: 2024-10-07 14:19:26

OC基础语法的相关文章

【OC基础语法考试】

OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请OC老鸟来喷~~ 试题如下: 1.将包含以下三个字符串@“1hello“,@“2word“,@”3good“的数组改写为字典,数字部分作为key,英文部分作为value.(15) 2.建立一个数组对象,使用3个不同的方法,使其引用计数增加为4,输出这个值,然后保证内存能够正确释放.(15) 3.使用

oc基础语法(一)

//oc的第一个程序1 #impor <Foundation/Foundation.h> 2 int main() 3 { 5 NSLog("@hello,Object - C"); // oc使用了NSLog打印 return 0; 6 } oc语言是一门基于c的语言,在c语言的基础之上添加了一门面向对象的语法,将繁琐的c语言变得更简单.oc语言全面兼容c语言,它在基本数据类型上又添加了六种数据类型,分别是BOOL.Boolean.nil.SEL.class.block.

oc总结 --oc基础语法相关知识

m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { theme manager @autoreleasepool { NSLog(@"Hello, World!"); } return 0; } 预处理指令import会自动检验头文件有没有被包含过,防止重复包含,NSLOG是日志输出,OC字符串以@开头,自动换行

第一部分 1.10 OC基础语法-点语法、构造方法、结构体

一.点语法 新建一个person类 #import <Foundation/Foundation.h> @interface Person : NSObject { int _age; } - (void)setAge:(int)age; // 方法名是setAge: - (int)age; // 方法名是age // 方法名是setAge:andNo: // - (void)setAge:(int)newAge andNo:(int)no; @end #import "Person

4.0 OC基础语法-set方法和get方法

set方法和get方法的使用场合@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数set方法作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值命名规范:方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写形参名称不要跟成员变量同名get方法作用:返回对象内部的成员变量命名规范:get方法的名称一般就跟成员变量同名成员变量的命名规范成员变量都以下划线 _ 开头可

OC基础语法之方法

看惯了c#的代码再去看Object-C的代码,总感觉有点懵逼,记录下OC的方法用法: 在OC中一个类中的方法有两种类型:实例方法(类似于非静态函数),类方法(类似非静态函数). 实例方法前用(-)号表明,类方法用(+)表明,通过下图可以看到,前面有一个(-)号,说明这是一个实例方法(nil关键字就相当于我们的null). 在OC中,调用一个方法相当于传递一个消息,这里的消息指的是方法名和参数. 所有的消息的分派都是动态的,这个体现了OC的多态性. 消息调用的方式是使用方括号. 如下面的例子中,向

第一部分 1.8 OC基础语法-Block

一.Block基本含义 Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值. 苹果官方建议尽量多用block.在多线程.异步任务.集合遍历.集合排序.动画转场用的很多 二.Blocks的定义 Blocks的定义: int (^MySum)(int, int) = ^(int a, int b) { return a+b; }; 定义了一个叫MySum的blocks对象,它带有两个int参数,返回int.等式右边就是block

第一部分 1.12 OC基础语法-类的声明和实现,static和变量,typedef

新建一student类 只是用来声明Student这个类有哪些成员变量和方法 #import <Foundation/Foundation.h> // @interface代表声明一个类 // : 代表继承 @interface Student : NSObject { // 成员变量要定义在下面的大括号中{} int age; int no; } // 在这里声明的所有方法都是公共 // age的get方法 // - 代表动态方法 + 代表静态方法 - (int)age; // age的se

IPhone开发值OC基础语法复习

1. 练习1 for循环打印 1-200内不能被3整除的数 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //for循环打印 1-200内不能被3整除的数 printf("这些数不能被3整除: \n"); for(int i=1; i<=200; i++){ if( i% 3 != 0){ printf(" %d &