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


第一天


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方法,自身调用自身,死循环、。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值