码迷,mamicode.com
首页 > 其他好文 > 详细

从今天开始学OC,一天一更,让我们共同进步。

时间:2015-08-11 21:33:47      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:类的创建   点语法   #import interface   


第一天


OC的文件后缀名为.m(message)的意思,

第一个程序hello world

打印函数NSLog();和C语言和c++的区别是,它会自动换行。

 

#import :包含系统的头文件。和C语言的#include 类似,但是,他会自动判断是否已经被包含,而C语言中需要用#ifndef   #endif来进行管理:

 

 

定义一个类:

包含两个文件:

.h:类的声明文件,用于变量和函数的声明

@interface :声明一个类:后面跟一个类名。

@end 代表这个类结束

@interface :  ":"代表继承的标志。后面跟父类名。

 

把成员变量写在大括号里面,然后方法名写在括号外面,

 

声明方法:所有在.h中声明的方法都是公共的方法:

-:说明是个动态方法:(对象的方法)

+:说明是一个静态的方法:(类的方法)

方法的参数问题:

一个冒号对应一个参数。

.m:实现.h文件中声明的方法:

@implementation  +类名: (实现类中的方法)

@end结尾:



main函数中的方法实现:

1.所有的OC对象都要加一个*,所以OC的所有对象都是指针

2.创建一个对象:例如:Student  *stu =[Student  alloc];

3。初始化:stu =[Student  init]

             合成一块可以写成:Student *stu = [[Student alloc]init];

4,释放对象。

 

 

点语法:

和c++和java的语法不通,OC 的“.”实际上是调用了类中的动态的方法:。而前两者是用一个对象来操控他的参数。而在OC中,如果一个类Person ,有属性age,set 和get方法都已经声明完毕,

Person *per =[[Person alloc]init];

Per.age=23;--------->[per  setAge:23]      调用了set方法:

Int age =per.age;----------->intage = [per getAge]      调用了get方法:

 

总结:如果“." 作为左值,调用的是set方法

如果”.“作为右值,那么调用的是get方法:

 

 

注意:如果在set方法中用self.age =age :相当于自身调用了自身,会造成死循环,不可。。。

同样,在get方法中也不能return self.age ,这样也会调用get方法,自身调用自身,死循环、。

版权声明:本文为博主原创文章,未经博主允许不得转载。

从今天开始学OC,一天一更,让我们共同进步。

标签:类的创建   点语法   #import interface   

原文地址:http://blog.csdn.net/u012989536/article/details/47426363

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!