黑马程序员——OC学习——面向对象
来源:互联网 发布:linux下刻录数据光盘 编辑:程序博客网 时间:2024/06/05 17:30
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. 实例变量修饰符——@public @protected @private
实例变量作用域
- @public修饰的实例变量可以在任意程序集访问
- @protected修饰的实例变量在当前类及其派生类中可以访问
- @private修饰的实例变量只在当前类中可以访问
在.m文件中定义的变量,私有变量只能在当前类中使用不能被子类继承也不能被子类使用,而@private修饰的实例变量可以被子类继承但是不能被子类使用
3. OC中私有方法
在.h文件中没有声明但是在.m文件中实现的方法是OC中的私有方法,父类的私有方法不能被子类继承,通过关键字self访问私有方法
示例代码如下;
#import <Foundation/Foundation.h>//类的声明@interface Car:NSObject-(void)test;@end//类的实现@implementation Car//定义一个私有方法-(void)run{ NSLog(@"车在跑");}-(void)test{ //使用self调用私有方法 [self run];}@end//main方法int main(int argc, const char * argv[]) { @autoreleasepool { Car *car=[Car new]; //通过调用类对外公开的方法调用私有方法 [car test]; } return 0;}
以%@打印一个对象时调用了一个对象的description方法,打印结果是<类名 对象地址>
以%@打印一个类对象时,调用的是类的description方法,打印出类的信息
示例代码如下:
#import <Foundation/Foundation.h>#import "Dog.h"int main(int argc, const char * argv[]) { @autoreleasepool { Dog *d=[Dog new]; //调用对象的description方法打印一个对象 NSLog(@"%@",d); //调用类的description方法打印类的信息 NSLog(@"%@",[d class]); } return 0;}
5. 类的本质
类的本质也是一个对象,类对象代表类,class代表类对象,类方法属于类对象。
eg: Person *p=[Person new]; Person是一个类对象,是class类型,p是一个类类型的变量,是一个实例变量
获取类对象的方法:
- 通过实例对象获取 eg:Dog *dog=[Dog new]; Class d1=[dog class];
- 通过类名获取 eg:Dog *dog=[Dog new]; Class d2=[Dog class];
使用类对象创建对象:Dog *dog1=[d1 new];
调用类方法:[d1 run];
0 0
- 黑马程序员——OC学习——面向对象
- 黑马程序员——OC—OC中的面向对象
- 黑马程序员——OC---面向对象之类和对象
- 黑马程序员—OC—面向对象(二)
- 黑马程序员—OC—面向对象(一)
- 黑马程序员——OC基础---面向对象语法
- 黑马程序员——OC面向对象编程
- 黑马程序员——[OC]面向对象01
- 黑马程序员——OC面向对象的基础认识
- 4、黑马程序员-OC面向对象—封装
- 5、黑马程序员-OC面向对象—继承
- 6、黑马程序员-OC面向对象—多态
- 黑马程序员—OC语言面向对象三大特性
- 黑马程序员——OC学习笔记02 面向对象1 类
- 黑马程序员——OC学习笔记03 面向对象2 面向对象的三大特性
- 黑马程序员——OC—OC中面向对象的特性之封装
- 黑马程序员——OC—OC中面向的对象特征之继承和派生
- 黑马程序员—面向对象
- Java 循环
- 视频客观质量评价模型性能的评估方法
- 【DX11习题学习二】第六章练习 Drawing in Direct3D(上)
- 使用servlet 3.0 新特性 @WebServlet(urlPatterns = "/brainT") 访问 url,服务器报404错误
- VC操作INI文件 ,INI文件操作总结,如何操作INI文件,INI文件使用方法小结
- 黑马程序员——OC学习——面向对象
- leetcode : Clone Graph
- UnityAPI翻译——VRSettings
- Linux环境下安装oracle
- StringUtils的isBlank与isEmply
- 关于ArcGIS Server修改数据源是否对切片服务有影响
- maven环境变量配置
- c语言中的__FILE__和__LINE__的作用
- 一些挺有用的git命令