`
qzww5324
  • 浏览: 37935 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

objective-C笔记(二)

阅读更多
void drawShapes(Shape shapes[],int count){
	int i;
	for(i=0;i< count;i++){
		id shape=shapes[i];
		[shape draw];
	}
}

 1.shapes为一个类型是Shape的结构体数组。

 

id shape=shapes[i];

id 为一个指向其中某个结构的指针。

		[shape draw];

表示对对象shape做draw操作(向shape发送消息draw)。

 

2.

@interface Circle:NSObject{
	ShapeColor fillColor;
	ShapeRect bounds;
}

-(void) setFillColor:(ShapeColor) fillColor;
//[circle setFillColor: fillColor]
-(void) setBounds: (ShapeRect) bounds;
//[circle setBounes:bounds]
-(void) draw;
//[circle draw]

@end

     这里定义了一个名为Circle并继承自NSObject的接口,其中包含了两个属性,分别死color和bounds;三个方法声明。方法声明和函数原形的区别在于是否有先行短线"-" 。

-(void) setFillColor:(ShapeColor) fillColor;

方法声明的结构为:

   - (返回类型)方法名[:(参数类型) 参数1值名 参数2名:(参数类型) 参数2值名 ...]

方法调用(中缀符的使用):  

[circle setFillColor: fillColor]   

 

意思同:

 

circle.setFillColor(fillColor);

 如果是多个参数:

 

[textThing setStringValue: @"hello there"
     color: kBlueColor];

 @"hello there"和 kBlueColor都为传入的参数 (?setStringValue和color是参数名还是方法名的一部分?)

 

3.Circle的实现

 

@implementation Circle

-(void) setFillColor:(ShapeColor) c{
	//fillColor=c;
	self->fillColor=c;
}//set color

-(void) setBounds:(ShapeRect) b{
	bounds=b;
}//set bounds

-(void) draw{
	NSLog(@"draw a circle at (%d,%d,%d,%d) in %@ ",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}
@end

 和声明差别不大,对原先的方法做了具体的实现。

self->fillColor=c;

self是一个隐藏传送的参数,代表消息接收对象本身。

 

4.Circle的实例化

[Circle new]

 objective-c中可以把类当成对象一样来发送消息。

 

 

 

分享到:
评论

相关推荐

    Objective-C&UIKit自学笔记

    以上就是Objective-C和UIKit自学笔记中涉及的一些核心概念和基础知识。在深入学习时,还需要了解如何使用UIKit创建视图、控制器、事件处理等,以及更高级的主题,如内存管理策略ARC(Automatic Reference Counting)...

    Objective-c学习笔记

    Objective-C是一种基于C语言的面向对象编程语言,它是苹果公司Mac OS X和iOS操作系统的主要开发语言。Objective-C的特性使其成为构建Cocoa框架应用程序的理想选择。以下是对Objective-C关键概念的详细解释: 1. **...

    objective-c学习笔记

    二、Objective-C语法 1. @interface与@implementation:定义类的核心结构是@interface和@implementation。@interface声明类的公共属性和方法,@implementation则实现这些属性和方法。 2. 属性(Property):属性...

    Objective-C 基础语法学习项目

    根据给定的学习笔记,我们将从以下几个方面深入探讨Objective-C的基础语法: 1. **基本概念介绍**:包括类、对象、方法等基本概念。 2. **Objective-C核心类型**:如`NSString`、`NSArray`、`NSDictionary`。 3. **...

    Effective Objective-C 2.0 学习笔记目录

    Effective Objective-C是本学习Objective-C的好书,没有见pdf版,亚马逊上的这儿本书的价格不菲。让我们来看看书里的内容和完整的学习笔记吧。

    Objective-C 学习笔记

    总的来说,Objective-C作为iOS开发的重要语言,其面向对象的特性、与C语言的兼容性以及强大的Cocoa框架,使得开发者能够构建功能丰富的iOS应用程序。学习Objective-C的基础知识和面向对象编程概念对于理解iOS开发至...

    objective-c编程入门学习笔记

    Objective-C中的打印输出主要通过`NSLog`函数完成,其用法类似于C语言的`printf`函数,但是使用`@`符号作为字符串的前缀。 ```objective-c NSLog(@"Hello, World!"); ``` ##### 2. 变量与运算 Objective-C支持多种...

    Objective-C学习资料(内置学习笔记,各内容源码)

    Objective-C是在C语言基础上扩展的,引入了Smalltalk式的消息传递机制,使得它能够支持面向对象编程。它的语法中,类、对象、方法和协议等概念是核心元素。 1. **类与对象**:Objective-C中的所有数据都是通过对象...

    Objective-C学习笔记(一)OC基础.md

    这篇笔记主要介绍了Objective-C的一些基础知识,包括以下几个方面: 1. Objective-C概述,介绍了Objective-C的来源、发展历史和作为面向对象的C语言的特点。 2. 第一个OC程序,讲解了如何创建一个OC项目,解释了一些OC...

    Objective-c学习资料集合

    非常全面的Objective-c的学习教程,里面包含了很多程序员的学习笔记有图文解说,还有语法解说,还有使用函数以及如何创建,不管你是新手还是高手都是你Objective-c开发的好工具好帮手,里面还包含了学习网站的教学...

    Mac编程入门资料(Objective-C)

    Objective-C是一种基于C语言的面向对象编程语言,主要应用于Apple的macOS和iOS操作系统。它是开发Mac应用程序的基础,对于想要进入苹果平台开发的程序员来说,学习Objective-C是必不可少的步骤。本资源包为初学者...

    objective-c的总结

    Objective-C是在C语言基础上扩展的,因此它保留了C语言的所有特性,如变量、函数、控制结构等。它的主要扩展是增加了消息传递机制和类的概念,这使得它成为一种面向对象的语言。消息传递是Objective-C的核心,通过向...

    objective c学习笔记和示例

    苹果的iPhone和iPad应用开发都指定使用同一开发语言:Objective-C语言。这是一种简单的面向对象编程语言,它的基础是C程序设计语言。Objective-C不仅功能强大,而且简单易学。Objective-C已经成为苹果系统下应用程序...

    Objective-C基础教程第二版

    **Objective-C**是一种面向对象的编程语言,它在C语言的基础上增加了面向对象的功能,并且是开发iOS应用的主要语言之一。尽管Swift已经成为苹果官方推荐的新一代编程语言,但Objective-C仍然拥有大量的代码库和丰富...

    objective c学习笔记

    Objective-C是一种简单的...Objective-C通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的ANSI C语言。类的语法和设计主要是基于Smalltalk,最早的面向对象编程语言之一。

    简单的 Objective-C 示例代码,实现了一个简单的计算器程序

    Objective-C 是一种面向对象的编程语言,主要应用于苹果的 macOS 和 iOS 开发。在这个"简单的 Objective-C 示例代码"中,我们很可能看到一个基础的计算器程序的实现,这为我们提供了一个了解 Objective-C 基础语法和...

    Object-C语言教程0220.zip基础知识及相关案例

    《Objective-C语言教程0220.zip》是一个包含Objective-C编程基础及实例的课程资源包。这个压缩包中,我们能够找到一系列与学习Objective-C语言相关的材料,包括图像和文本文件,旨在帮助初学者理解并掌握这门强大的...

    Objective-C

    Objective-C是在C语言的基础上扩展的,增加了Smalltalk式的面向对象特性,使得它在编写复杂应用程序时具有更高的灵活性和可扩展性。 Objective-C的核心概念主要包括类、对象、消息传递和协议。以下是对这些概念的...

Global site tag (gtag.js) - Google Analytics