『iOS开发』「OC」02_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 『iOS开发』「OC」02

『iOS开发』「OC」02

 2015/1/22 21:15:43  类和对象  程序员俱乐部  我要评论(0)
  • 摘要:一、面向对象OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。术语:OO面向对象、OOP面向对象编程二、类和对象(一)关于类类的设计只关注三个东西:类名、属性和方法注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识。在对方法进行类的划分中
  • 标签:

class="p0">一、面向对象

  OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。

  术语:OO面向对象、OOP面向对象编程

二、类和对象

(一)关于类

  类的设计只关注三个东西:类名、属性和方法

  注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识。在对方法进行类的划分中,一般采取的做法是谁最熟悉这个方法那么就把这个方法划分给谁。在OC中,对象对方法的调用称为消息机制,即向既定的对象发送了什么消息。

(二)简单内存分析

  类创建对象,每个对象在内存中都占据一定的存储空间,每个对象都有一份属于自己的单独的成员变量,所有的对象公用类的成员方法,方法在整个内存中只有一份,类本身在内存中占据一份存储空间,类的方法存储于此。

  每个对象内部都默认有一个isa指针指向这个对象所使用的类。

  [p eat];表示给p所指向的对象发送一条eat消息,调用对象的eat方法,此时对象会顺着内部的isa指针找到存储于类中的方法,执行。

  isa是对象中的隐藏指针,指向创建这个对象的类。

(三)类的声明和实现

  1)类的声明:声明一个Car类,它拥有wheels和speed两个属性,一个run方法

     

  2)类的实现:

     

  3)类的调用:首先在主函数创建了p和p2两个Car类型的对象,把p对象的wheels和speed属性分别设置为5和250,p和p2分别调用run方法,把跑的wheels和speed属性设置为4和300。

    

  输出结果为:

    

  练习:设计一个Person类

    

  输出结果:

    

(四)常见错误

   1.类的声明和实现不能嵌套

   2.方法的实现必须放在@implementation中,不能放在@interface中。

   3.方法声明不能放在大括号{}里。

   4. 声明新类的时候不能和已有的类嵌套。

   5.不允许在@interface大括号里给成员变量赋值(初始化),也不能随便将成员变量当作C语言中的变量来使用,如用static修饰。

   6.类的声明必须放在main函数前面。

三、方法与函数

  方法与函数的区别:

  (1)对象方法的声明必须写在@interface和@end之间,对象方法的实现必须写在@implementation和@end之间

  (2)对象方法都以-号开头,类方法都以+号开头

  (3)对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用

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

  (5)对象方法归类\对象所有

  (6)函数调用不依赖与对象

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

四、类和方法的设计

  工具类:基本没有任何的成员变量,里面的方法基本都是类方法。

  注意:在对象方法中可以调用类方法。

  需求:设计一个工具类:一个计算器类,要求(1)返回π,(2)计算两个整数的和,(3)计算某个整数的平方。

  

  输出结果:

    

  • 相关文章
发表评论
用户名: 匿名