1.#import
#import 是GCC编译提供的,Xcode在编译Objective-c,c和c++程序时都会使用它。它可保证头文件被包含一次,而不论此命令实际上在那个文件中出现了多少次。
相当于c语言中的#ifdef命令
2.NSLog和“@”
NSLog(@"hello,Ojbective-c!"),接受的字符串可包含格式说明符(如:%d)
整体功能类似于java的println(),c的printf() 函数
注:已“ns”开头的函数说明是来自Cocoa而不是其他工具包。
字符串前的“@”标识引用的字符串应该作为Cocoa的NSString元素来处理。
3.布尔类型
BOOL:YES\NO (1 or 0)
4.@interface
@interface Circle:NSObject //接口名为:Circle,Circle类是基于NSObject 类得,每个Circle都将继承NSObject类得所有行为
{
ShapeColor fillColor;//数据成员之一,属于ShapeColor类型
ShapeRect bounds;//数据成员之二,属于ShapeRect类型(fillColor,bounds 这两个的值称为Circle类对象的“实例变量”)
}
//方法声明模块 start
- (void) setFillColor:(ShapeColor) fillColor;//方法名是:setFillColor:,冒号是名称的一部分,告诉编译器后面会有参数;参数类型是:(ShapeColor),参数名称是:fillColor
- (void) setBounds:(ShapeRect) bounds;
- (void) draw;
//方法声明模块 end
+(NSString*) className; //类方法
@end //Circle
方法返回类型:标准类型(整型、浮点型、字符型)、指针、对象引用、结构
减号 –
代表此方法是实体方法,必须先生成类实例,通过实例才能调用该方法。
加号 +
代表此方法是类的静态方法,可以直接调用,而不用生成类实例。
5.@ implementation
@ implementation Circle
- (void) setFillColor:(ShapeColor) c
{
fillColor = c;
}//setFillColor
- (void) setBounds:(ShapeRect) b
{
bounds = b;
}//setBounds
- (void) draw
{
NSLog(@"drawing a circle at (%d %d %d %d) in %@",
bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//draw
@end //circle
备注:接口实现类中可以定义接口中无相应声明的方法,可以不他们看做私有方法仅在类得实现中使用,也可以从该实现之外访问该方法,这是OC动态本质的副作用
6.实例化对象
int main(int argc, const char * argv[])
{
id shapes[1];
ShapeRect rect0 = {0,0,10,30};
shapes[0] = [Circle new];
[shapes[0] setBounds:rect0];
[shapes[0] setFillColor:kRedColor];
drawShapes(shapes,1);
return (0);
} // main
7.继承
注意:oc不支持多继承
继承实例:
@interface Shape:NSObject //Shape 继承自NSObject
{
ShapeColor fillColor;
ShapeRect bounds;
}
-(void) setFillColor :(ShapeColor) fillColor;
-(void) setBounds: (ShapeRect) bounds;
-(void) draw;
@end //Shape
@implementaion Shape
-(void) setFillColor :(ShapeColor) c
{
fillolor = c;
}
-(void) setBounds:(ShapeRect) b
{
bounds = b;
}
-(void) draw
{
}//draw
@ end
@interface Circle:Shape
@end // Circle
@implementation Circle
-(void) draw
{
NSLog(@"drawing a circle at (%d %d %d %d) in %@",
bounds.x,bounds.y,
bounds.widt,bounds.height,
colorName(fillColor));
} //draw
@end //Circle
备注:super关键字 (需要超类实现自身功能,同时在前面或后面执行某些额外的工作)
@implementation Circle
-(void) setFillColor:(ShapeColor) c
{
if(c==kRedColor)
{
c == kGreenColor;
}
[super setFillColor:c];
}// setFillColor
@end //Circle
相关推荐
根据给定的学习笔记,我们将从以下几个方面深入探讨Objective-C的基础语法: 1. **基本概念介绍**:包括类、对象、方法等基本概念。 2. **Objective-C核心类型**:如`NSString`、`NSArray`、`NSDictionary`。 3. **...
1. **Objective-C是C的超集**:Objective-C在C语言的基础上增加了面向对象的特性,如类、继承、多态等。它允许程序员通过消息传递来调用对象的方法,而不是像C那样直接调用函数。 2. **消息传递**:在Objective-C中...
总的来说,“Objective-C学习笔记”应该覆盖了从基础语法到实际应用的全方位教程,适合初学者系统学习Objective-C,并通过实践加深理解。通过深入学习,开发者可以掌握开发苹果平台应用程序所需的关键技能。
Objective-C是一种面向对象的编程语言,它在C语言的基础上增加了SmallTalk-80的特性,主要应用于Apple的iOS和macOS平台。Objective-C中的UIKit框架是构建用户界面的基础,提供了丰富的控件和功能来创建iOS应用程序。...
NeXT公司由Steve Jobs创立,并在1996年被苹果公司收购,Objective-C也随之成为苹果操作系统的基础,尤其是在Cocoa框架下。Cocoa框架分为两大部分:Foundation框架和Application Kit框架,前者提供了基本的数据结构如...
1. Objective-C概述,介绍了Objective-C的来源、发展历史和作为面向对象的C语言的特点。 2. 第一个OC程序,讲解了如何创建一个OC项目,解释了一些OC程序中的关键字和语法。 3. OC基础语法,对比了OC和C语言的一些区别...
Objective-C是一种通用、面向对象的编程语言,它是在标准C的基础上进行扩展的。Objective-C主要用于开发macOS和iOS的应用程序,也是苹果官方推荐用于iOS开发的主要语言之一,尽管近年来Swift语言逐渐兴起。 #### 二...
Objective-C是在C语言基础上扩展的,引入了Smalltalk式的消息传递机制,使得它能够支持面向对象编程。它的语法中,类、对象、方法和协议等概念是核心元素。 1. **类与对象**:Objective-C中的所有数据都是通过对象...
**Objective-C**是一种面向对象的编程语言,它在C语言的基础上增加了面向对象的功能,并且是开发iOS应用的主要语言之一。尽管Swift已经成为苹果官方推荐的新一代编程语言,但Objective-C仍然拥有大量的代码库和丰富...
Objective-C 是一种面向对象的编程语言,它是C语言的扩展,主要用于Apple的iOS和macOS开发。Objective-C 在XCode环境中进行编写,XCode提供了集成开发环境,包括代码编辑器、Interface Builder(用于设计用户界面)...
1. 继承自C语言,保留了C的语法基础,同时也添加了面向对象的特性。 2. 引入了消息传递机制,通过发送消息给对象来调用方法,这与Java和C#的接口类似。 3. 使用Category来扩展已有类的功能,无需继承。 4. 拥有强大...
Objective-C是在C语言基础上扩展的,因此它保留了C语言的所有特性,如变量、函数、控制结构等。它的主要扩展是增加了消息传递机制和类的概念,这使得它成为一种面向对象的语言。消息传递是Objective-C的核心,通过向...
1. **Objective-C 语言基础**: - **类和对象**:Objective-C 是基于 Smalltalk 的,所以它支持面向对象编程,包括类的定义、对象的实例化等。在计算器程序中,可能有 `Calculator` 类,它包含了计算的方法。 - **...
《Objective-C语言教程0220.zip》是一个包含Objective-C编程基础及实例的课程资源包。这个压缩包中,我们能够找到一系列与学习Objective-C语言相关的材料,包括图像和文本文件,旨在帮助初学者理解并掌握这门强大的...
苹果的iPhone和iPad应用开发都指定使用同一开发语言:Objective-C语言。这是一种简单的面向对象编程语言,它的基础是C程序设计语言。Objective-C不仅功能强大,而且简单易学。Objective-C已经成为苹果系统下应用程序...
1. **Objective-C 语言基础** Objective-C 的核心概念之一是类(Class)。类的定义通常包含两个文件:头文件(.h)和源文件(.m)。头文件用于声明类的接口,包括其属性(成员变量)和方法,而源文件则实现这些接口...
Objective-C是在C语言的基础上扩展的,增加了Smalltalk式的面向对象特性,使得它在编写复杂应用程序时具有更高的灵活性和可扩展性。 Objective-C的核心概念主要包括类、对象、消息传递和协议。以下是对这些概念的...
Objective-C(简称Obj-C或Objective C)是苹果公司基于C语言开发的一种面向对象编程语言,主要用于iOS和macOS平台的应用程序开发。它在C语言的基础上添加了Smalltalk风格的消息传递机制,使得面向对象编程更加灵活...
这篇学习笔记主要涉及了Objective-C的基础知识,包括对象创建、类的结构、文件导入、实例变量、接口与实现、内存管理和属性。 1. **对象创建**: - `string`方法创建的字符串对象是自动释放的,意味着系统会在适当...