一:Object-c的类基本定义
1. 类定义在@interface和@end之间。
2.MyClass:NSObject的方式定义子类和父类。
3.{}中定义类的对象成员
4.-/+定义的是方法,-定义的是对象的方法,+定义的是类的方法。对象是类的一个实例。对于对象的方法,也即是,当使用该方法之前必须先生成该类的一个特定对象。
二:强类型和弱类型的引用
Object-C的对象可以使用强类型引用和弱类型引用
MyClass *myObject1; // Strong typing
id myObject2; // Weak typing
MyClass * myObject1是一种强类型的定义方法,该定义方法与C++类似。
id myObject2是一种弱类型的定义方法,弱类型的对象主要用于集合类,集合类的对象通常在运行时才知道集合中内部的对象类型定义。弱类型的引用的使用与Object-C的动态类型绑定(Dynamic Typing)息息相关,在Object-C中,每一个对象包含一个成员变量isa,保存着对象属于哪一个类的类型信息。于是,开发人员能够在运行时刻知道对象的定义,例如,其父类是什么,实现了什么函数等。
三:函数定义和调用
Object-C的函数定义和调用都比较特别,为了让对象执行某个操作,需要向对象发送消息,因此,函数的调用被称作Object Messaging。其消息的定义是[Receiver Message],前者是接收消息的对象,后者是消息的本身。此处先看看函数的定义:
函数的定义由函数的类型标记(Method type identifier)、返回值(return type)、一个或者多个的函数签名关键字(Method signature)、参数的类型和命名信息组成。
函数的真实命名由各个级联的函数签名关键字组成。例如上述函数定义中函数真实的命名是(insertObject:atIndex:)分号隔开参数的声明。局部的函数签名关键字看起来更像是函数参数的内部命名,真正的参数命名反而在Object Messaging中不出现。例如,上述的函数调用可以写成
[myArray insertObject:anObject atIndex:0]; 再来看一个例子,前一行是函数的定义,后面一行是函数的调用,可以看到后面的调用Ojbect Messaging中,写的是函数方法签名的关键字 (Method signature keywords)而不是参数命名(parameter names)。由于没有特别的函数名一项,注意其第一个函数方法签名关键字的 命名看起来就像函数名(changeColorTo)+第一个参数(Red) - (int)changeColorToRed:(float)red green:(float)green blue:(float)blue; [myColor changeColorToRed:5.0 green:2.0 blue:6.0]; 上述例子中,实例方法的真是命名是: -changeColorToRed:green:blue: ,冒号隔开的各个参数顺序不能更改。
相关推荐
通过推荐一系列优质的教程资源,包括官方文档、在线教程和权威课程,文章引导读者从Object-C的基本语法、数据类型和控制结构开始,逐步深入面向对象编程的核心概念。这些教程不仅提供了详细的解释和示例代码,还配备...
类与对象:理解Object-C中类(Class)和对象(Object)的概念,学习如何定义类、创建对象以及使用对象的属性和方法。 继承与多态:掌握Object-C中的继承和多态机制,了解子类如何继承父类的属性和方法,并实现自己...
通过跟随博客,读者可以了解Object-C的基本概念、特点和应用场景,学会如何编写简单的Object-C程序、使用高级特性、参与相关社区,并为未来的深入学习打下坚实的基础。 ### 其他说明 本博客注重实用性和易懂性,尽量...
Objective-C 入门教程 分类 编程技术 Objective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程。 Objective-C 通过提供类定义,方法以及属性的语法,还有其他可以...Objective-Objective-C是C语言的
基础语法:熟悉C语言基础是前提,Objective-C是在C语言的基础上增加了面向对象特性。 面向对象:理解类(Class)、对象(Object)、实例变量(Instance Variables)、方法(Methods)、继承(Inheritance)、封装...
如果你从来没有使用任何编程语言编过程序,那么你至少需要在开始之前,对相关概念进行一些基础的了解。对象的使用和对象对象架构是 iPhone 程序设计的基础,理解他们如何交互对创建你的程序非常重要。想了解面向对象...
本书全面系统地讲述了Objective-C的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性及框架,以及继承、复合、对象初始化、类别、协议、内存管理和源文件组织等重要编程技术,教你如何针对...
在上一节为基础,它继承专题探讨,并提出了类向导,一个强大的MATLAB的类生成工具。最后一节将深入讨论先进的战略,包括集装箱,静态变量和功能方面。 拥有超过20年的经验,制定和实施面向对象的软件,专家作者已经...
第一部分的章节提供了对C语言和基本编程概念的全面介绍,然后是对实时音频编程的解释,包括音频合成和处理。第二部分的章节演示了面向对象编程范例如何在计算机乐器的建模中发挥作用,每章都展示了一组与关键C ++...
关于C语言的基础部分已经记录完毕,接下来就是学习Object-C了,编写oc程序需要使用Foundation框架。下面就是对oc中的对象介绍。 对象 对象和结构类似,一个对象可以保存多个相关的数据。在结构中,我们称这些数据为...
【课程内容】包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象...
《Objective-C程序设计》(作者杨正洪、郑齐心、李建国)通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行...
对象概念 在 javascript 中, 一切引用类型均为对象。 如 function Foo () {} 中,Foo本身就是一个对象的引用。 创建对象方式 字面量方式 new 构造函数函数声明 Object.create 字面量对象 javascript语言级别快速创建...
当我们提及“类型”和“多态”,或“接口”继承与“实现”继承的关系时,你应该对这些概念了然于胸,而不必迫不及待地翻阅手头的字典。 另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它...
对于C语言熟悉的读者可将前三章(1.1 到 3.4)当作复习,因为这部分内容主要介绍C++中的C部分。不过某些C++的语法与C还是有些差别,所以建议还是快速的读一下这部分。 第四章讲述面向对象编程。 第五章主要介绍ANSI-...
该资料库充斥着理论幻灯片,程序数量,概念清晰的项目,并经过了精美的解释,有据可查的学习内容,可以在大学期间表达我在OOP中的学习内容,并帮助您掌握相同的知识!目录没有。 章名链接查看1。 简洁的C语言回顾...
Delphi与Object Pascal程序的基本概念 <br>6-1 Object Pascal Program程序结构与Delphi项目结构的关系 6-1-1 标头(Heading) 6-1-2 Uses子句 6-1-3 编译指令(Compiler directive) 6-1-4 源代码区...
阅读目录 Object类型 1、通过构造函数来创建 2、通过字面量表示法来创建对象 Array类型 同样Array也有两种创建方式: ...我们在《一步步学习javascript基础篇(1):基本概念》中简单的介绍了五种基本数据类型Undef
Qt对标准C++进行了扩展,引入了一些新概念和功能,例如信号和槽、对象属性等。Qt的元对象编译器(Meta-Object Compiler,MOC)是一个预处理器,在源程序被编译前先将这些Qt特性的程序转换为标准C++兼容的形式,然后再...
Qt对标准C++进行了扩展,引入了一些新概念和功能,例如信号和槽、对象属性等。Qt的元对象编译器(Meta-Object Compiler,MOC)是一个预处理器,在源程序被编译前先将这些Qt特性的程序转换为标准C++兼容的形式,然后再...