iOS开发--OC篇--OC类与对象

一.类和对象之间的关系. 


1.先有类才能有对象,类顾名思义就是一类具有相同属性事物的统称,是一个概念,而对象是具体的,是类的一个具体体现。
动物就是一个类,没有具体是事物,狗也是一个类,也没具体到一个事物,但是,我养的旺财就是对像了,这就具体到了一个


二、类简介


创建时有一个.h 和一个.m文件而类的声明是在.h文件中完成的.

#import


//注意的地方

1. 建立类需要使用@interface 关键字 以及 类名和:基类

@interface Person : NSObject

{

   @protected

    int age;

    NSString *name;


}

 

@end

实现是在.m中完成的.

//实现类需要使用关键字@implementation 和类名.来实现

@implementation Person


@end


main函数的调用

int main(int argc, const char * argv[]) {

    @autoreleasepool {

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

        xiaoming->_age = 100;

        xiaoming->name =@"lalalala";

        Person *zz = xiaoming;

        NSLog(@"%d,%@",xiaoming->_age, xiaoming->name );

        NSLog(@"%d,%@",zz->_age, zz->name );

        zz->_age = 0;

        zz->name = @"q";

        NSLog(@"%d,%@",xiaoming->_age, xiaoming->name );

    }

    return 0;

}

 




面向对象

面向对象有三大特征

封装 继承和 多态.

一个类 封装两部分


1. 类的成员变量

 

2.方法(函数)的封装


类的成员变量封装有什么好处

1.当改变量时就会简单很多

成员封装就是get set函数;第一天看的


函数的向后支持以及版本更新,对于封装集成度高点的易于操作


对于成员变量来说不要直接操作成员变量.


还有就是安全性 对于私有变量的值有一种保护措施.

 

现在个人对封装的意义是什么:封装也就是将函数放进类里,进行调用.以方便使用吧.

函数能调用就调用不要自己写.为了是集成度高点吧个人感觉

那个时候还真是单纯啊.. 封装.为了方便.为了能多重利用.是这样吧

封装不是简简单单的将东西全部封装起来.而是.为了能够有低耦合高内聚的那种感觉吧.

哈哈哈哈



 

构造函数和析构函数

构造函数是以initWith 为开头的.

可以不以这个开头,但是最好用这个

 

因为看着方便吧.


today:其实是它那样去要求的. 而oc的构造和析构和c++的又不一样. C++的构造是自己调用的,而oc确是需要自己去调用才可以触发.

对于析构函数也是如此. oc是 利用 dealloc 的调用来实现的release 方法吧.

 

构造函数的作用:

1.做一些对对象的处理,比如日志文件.

2.还有把某些设备打开.

 

3.再者就是对一些值的初始化

其实用到现在就用过初始化.,或者说打开设备,而这里所谓的设备仅仅只是用一些文件而已.


析构函数dealloc

在奄奄一息的时候做一些额外的工作,就是完成工作的时候收尾的吧.

 

跟free()函数类似.

他和free的功能只能说类似. free可以直接将那部分内存销毁.而oc并不能.呵呵哒. oc中内存管理上.有时候比c的不实用.比如说他的release 会释放内存,但是不会消除指针的指向.

如果你要还想用.那片内存中还是存储一部分东西. 而c是直接把所有东西全部抹去了. 就像说.free以后你就找不到那些东西了.. 其实应该可以试试是否能找到吧..把当时的地址记录一下.


然而oc中dealloc的是告诉程序员.这里可以用了,其实上面还是有东西的但是申请内存的时候是可以申请的.


这个类方法是可以直接调用的

+(void)initialize

1.+为静态方法

2.这个函数是类的第一次实例化的时候例如alloc 其实意思就是C++的构造函数吧

 

3.只运行一次


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值