OC中的类和对象


1. 为什么要使用类?

在OC的编程中引入了对象的概念,一切元素皆可以看做是对象,对象拥有属性和行为,而具有相同属性和行为的对象就分为一个类。


2. 如何设计类?

第一步:

定义类名:

类名的第一个字母必须是大写

不能有下划线

多个英文单词,用驼峰标识

第二步:

属性

行为(功能)

例如:电脑

类名:Computer

属性:bandexpireDate

行为:openclose


3.在OC中使用类

(1)类的声明声明对象的属性、行为

@interface类名 :父类

{用来声明对象属性(实例变量\成员变量,默认会初始化为0

    @public/@protect/@private

成员变量1;

成员变量2;

成员变量3;

}

-/+ (方法返回值类型)方法名:(参数类型)形参变量名1 :(参数类型)形参变量名1;

-/+ (方法返回值类型)方法名:(参数类型)形参变量名1 :(参数类型)形参变量名1;

@end

说明:

@public可以让外部的指针间接访问对象内部的成员变量

@protect可以使这个类的子类对象访问接访问对象内部的成员变量

@private只有这个类的方法可以访问

只要是OC对象的方法,必须以减号 -开头

OC方法中任何数据类型都必须用小括号()扩住

OC方法中的小括号():括住数据类型

(2)类的实现:实现类声明中定义的方法,即用来实现@inteface中声明的方法

@implementation类名

-/+ (方法返回值类型)方法名:(参数类型)形参变量名1 :(参数类型)形参变量名1

{

     方法1

}

-/+ (方法返回值类型)方法名:(参数类型)形参变量名1 :(参数类型)形参变量名1;

{

     方法2

}

@end

(3)方法注意点小结

a.对象方法都是以减号 -

b.对象方法的声明必须写在@interface@end之间

c.对象方法的实现必须写在@implementation@end之间

d.对象方法只能由对象来调用

e.对象方法归类\对象所有

f.方法(行为):方法名、参数、返回值(声明、实现)

h.OC方法中,一个参数对应一个冒号

i.方法名包括冒号

(4)成员变量注意点

a.不允许在类的实现中初始化成员变量

b.默认成员变量是protect

c.想要访问private成员变量,可以通过对象方法来实现

 

4.创建和使用对象

(1)实例化一个对象:

[类名 new];

使用注意:该类必须继承自NSObject才可以使用父类的new方法,该语句的返回值是一个对象。

(2)使用对象

类名 *p = 对象;

oc中要获取和操作对象,必须使用一个指针变量指向这个对象,然后用指针来操作对象。

(3)实例化对象同时操作它

可以这样直接实例化一个对象,并用一个指针指向它:

类名 *p = [类名 new];

(4)访问对象的成员变量:

p->成员变量名

(5)使用对象方法:

[p 方法名]

 

5.函数与类和对象的关系

(1)函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有

(2)函数调用不依赖于对象

(3)函数内部不能直接通过成员变量名访问某个对象的成员变量

 

6.匿名对象

[类名 new]->成员变量名 = 值;

上面代码创建的对象就是匿名对象,在编程中很少使用,尽量不要使用这样的方式实例化对象。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值