第三章 面向对象编程基础知识
2011-10-13 08:35
260 查看
Objective-C中的类声明以@interface开始,并以@end为结束符。好的编码习惯会在类声明结束时注释说明类。
@interface ClassName : BaseClass //或是SuperClass?Objective-C中的基础类是NSObject,应该与其他OO语言一样,实现了基本的创建销毁
{
VarType ClassMemberName1;
VarType ClassMemberName2;
}
- (ReturnType) ClassMethod: (VarType) ParamateName;
@end //注释
Objective-C中的方法声明如下:
- (方法返回类型) 方法名称:(参数类型)参数名称;
Objective-C中有一种名为中缀符(infix notaion)的语法技术。方法的名称及其参数都是合在一起的。例如,你可以这样调用一个参数的方法:
[circle setFillColor: kRedColor];
带两个参数的方法调用如下所示:
[textThing setStringValue: @"hello there" color: kBlueColor]; //以上代码出自原书,无上下文,变参命名不规范,是我肯定不这么干(14日学习新篇章发现这么写是对的,set前缀的是setter方法的,而后两个是参数
setStringValue:和color:实际上是参数的名称(实际上是方法名称的一部分)。
Objective-C中使用@implementation来声明类实现的开始,后面跟着实现的类名,同样以@end来声明类实现的结束,当然你愿意的话也请在背后加上类的注释,起码标上类名。
Objectvie-C的类实现部份中可以单独实现方法而不用在接口声明,但它同样不是私有的,Objective-C中不存在真正的私有方法。这是Objective-C动态本质的副作用。
以下简单示范:
@implementation
- (ReturnType) ClassMethodName1: (VarType) ParamateAlias
{
//use Paramate todo something
}
@end
为毛是ParamateAlias?原因是我们已经通过类定义了一个名为ParamateName的实例变量,可以在该方法中引用该变量-它在作用域范围中。因此,如果使用相同的名称定义另一个 ,编译器将会阻止我们访问该实例变量。使用相同的变量名会隐藏初始变量,可以为参数使用新的名称来避免该问题。
书中在这一章提到了OO大湿Bertrand Meyer的开放|关闭原则(Open/Closed Principle),即软件实体应该对扩展开放,而对修改关闭。
@interface ClassName : BaseClass //或是SuperClass?Objective-C中的基础类是NSObject,应该与其他OO语言一样,实现了基本的创建销毁
{
VarType ClassMemberName1;
VarType ClassMemberName2;
}
- (ReturnType) ClassMethod: (VarType) ParamateName;
@end //注释
Objective-C中的方法声明如下:
- (方法返回类型) 方法名称:(参数类型)参数名称;
Objective-C中有一种名为中缀符(infix notaion)的语法技术。方法的名称及其参数都是合在一起的。例如,你可以这样调用一个参数的方法:
[circle setFillColor: kRedColor];
带两个参数的方法调用如下所示:
[textThing setStringValue: @"hello there" color: kBlueColor]; //以上代码出自原书,无上下文,变参命名不规范,是我肯定不这么干(14日学习新篇章发现这么写是对的,set前缀的是setter方法的,而后两个是参数
setStringValue:和color:实际上是参数的名称(实际上是方法名称的一部分)。
Objective-C中使用@implementation来声明类实现的开始,后面跟着实现的类名,同样以@end来声明类实现的结束,当然你愿意的话也请在背后加上类的注释,起码标上类名。
Objectvie-C的类实现部份中可以单独实现方法而不用在接口声明,但它同样不是私有的,Objective-C中不存在真正的私有方法。这是Objective-C动态本质的副作用。
以下简单示范:
@implementation
- (ReturnType) ClassMethodName1: (VarType) ParamateAlias
{
//use Paramate todo something
}
@end
为毛是ParamateAlias?原因是我们已经通过类定义了一个名为ParamateName的实例变量,可以在该方法中引用该变量-它在作用域范围中。因此,如果使用相同的名称定义另一个 ,编译器将会阻止我们访问该实例变量。使用相同的变量名会隐藏初始变量,可以为参数使用新的名称来避免该问题。
书中在这一章提到了OO大湿Bertrand Meyer的开放|关闭原则(Open/Closed Principle),即软件实体应该对扩展开放,而对修改关闭。
相关文章推荐
- 零基础Objective-C 第三章--------------面向对象编程的基础知识(2)
- 第三章 面向对象编程基础知识
- 零基础Objective-C 第三章--------------面向对象编程的基础知识(1)
- 《Objective-C基础教程》第三章 面向对象编程基础知识
- Object-C学习笔记二-----面向对象编程基础知识
- Java并发编程实践笔记 第一部分 基础知识 第三章 对象的共享:
- 《JAVA 核心技术 基础知识》第三章 笔记
- 第三章 硬件基础知识学习
- 《HBase权威指南》读书笔记 第三章:客户端API基础知识
- [第三章、Java基础知识]第一节、数据类型
- 用《叩响C#之门》复习C#基础知识 第三章 运算符和表达式
- Python学习第三章《变量》(成为高手前必须知道的一些基础知识)
- html5基础知识第三章表单
- 黑马程序员-java面向对象编程基础知识
- 第三章 Django基础知识回顾
- Android 开发艺术与探究 第三章 View的事件体系之View的基础知识
- Objective-C基础之面向对象编程(OOP)的基础知识(2)——了解过程式编程
- PowerShell面向对象编程基础知识总结
- 程序设计与C语言学习笔记_第三章C语言基础知识
- 第三章 nodejs基础知识(上)