小白学开发(iOS)OC_面向对象总结(2015-07-25)
2015-07-25 20:04
344 查看
//
// main.m
// 面向对象总结
//
// Created by admin on 15/7/25.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
/*
1.类方法
> 加号开头
> 类方法只能由类名调用
> 类方法中不能访问成员变量
> 类方法可以调用类方法
> 允许类方法和对象方法同名
类方法的好处和使用场合
> 不依赖于对象, 执行效率高
> 能用类方法就用类方法
> 当方法内部不需要使用到成员变量(实例变量)时,就可以改为类方法
2.匿名对象
没有名称的对象称之为匿名对象
有名称的对象:用一个指针来接收了对象的地址称之为有名称的对象
匿名对象的使用场景:
> 当对象方法仅仅调用一次的时候
> 匿名对象可以作为实际参数传递
3.封装
初学者可以理解为对属性的封装
约定:
set方法
> 一定是对象方法
> 返回值一定是void
> 一定以set开后后面接上成员变量去掉下划线的名称,然后首字母大写
> 一定有参数,参数类型一定和成员变量一致
get方法
> 一定是对象方法
> 一定有返回值,返回值和成员变量类型一致
> 方法名称直接写成员变量名称去掉下划线
> 一定没有参数
封装的原则:
将不需要对外提供的内容都隐藏起来
把属性都隐藏,提供公共的方法对其访问
优点:
可以过滤掉一些不符合逻辑的数据,提高代码的健壮性
组合模式:
在一个类中声明其它对象的指针变量
优点:全局的对象方法都可以访问, 简化了我们的代码
缺点:依赖性强
使用场景:
当多个方法都使用到了同一个对象,就把它设置为成员变量
如何判断组合模式是否合理:
XXX 拥有 XXX
方法之间调用:
类方法调用类方法 可以
类方法调用对象方法 不可以
对象方法调用类方法 可以
对象方法调用对象方法 可以
*/
return 0;
}
// main.m
// 面向对象总结
//
// Created by admin on 15/7/25.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
/*
1.类方法
> 加号开头
> 类方法只能由类名调用
> 类方法中不能访问成员变量
> 类方法可以调用类方法
> 允许类方法和对象方法同名
类方法的好处和使用场合
> 不依赖于对象, 执行效率高
> 能用类方法就用类方法
> 当方法内部不需要使用到成员变量(实例变量)时,就可以改为类方法
2.匿名对象
没有名称的对象称之为匿名对象
有名称的对象:用一个指针来接收了对象的地址称之为有名称的对象
匿名对象的使用场景:
> 当对象方法仅仅调用一次的时候
> 匿名对象可以作为实际参数传递
3.封装
初学者可以理解为对属性的封装
约定:
set方法
> 一定是对象方法
> 返回值一定是void
> 一定以set开后后面接上成员变量去掉下划线的名称,然后首字母大写
> 一定有参数,参数类型一定和成员变量一致
get方法
> 一定是对象方法
> 一定有返回值,返回值和成员变量类型一致
> 方法名称直接写成员变量名称去掉下划线
> 一定没有参数
封装的原则:
将不需要对外提供的内容都隐藏起来
把属性都隐藏,提供公共的方法对其访问
优点:
可以过滤掉一些不符合逻辑的数据,提高代码的健壮性
组合模式:
在一个类中声明其它对象的指针变量
优点:全局的对象方法都可以访问, 简化了我们的代码
缺点:依赖性强
使用场景:
当多个方法都使用到了同一个对象,就把它设置为成员变量
如何判断组合模式是否合理:
XXX 拥有 XXX
方法之间调用:
类方法调用类方法 可以
类方法调用对象方法 不可以
对象方法调用类方法 可以
对象方法调用对象方法 可以
*/
return 0;
}
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 如何成为一名专家级的开发人员
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- AS3自写类整理笔记 ClassLoader类第1/2页
- AS3自写类整理笔记 Dot类第1/2页
- DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .
- perl脚本学习指南--读书笔记
- 《C++ primer plus》读书笔记(三)
- 《C++ primer plus》读书笔记(二)
- .NET微信公众号开发之公众号消息处理
- 使用nodejs开发cli项目实例
- jquery 笔记 事件
- nodejs开发微博实例
- Egret引擎开发指南之创建项目
- Android开发自学笔记(二):工程文件剖析