`
yangli
  • 浏览: 62335 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

《objective-c 基础》笔记1

阅读更多

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 基础语法学习项目

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

    Objective-c学习笔记

    1. **Objective-C是C的超集**:Objective-C在C语言的基础上增加了面向对象的特性,如类、继承、多态等。它允许程序员通过消息传递来调用对象的方法,而不是像C那样直接调用函数。 2. **消息传递**:在Objective-C中...

    objective-c学习笔记

    总的来说,“Objective-C学习笔记”应该覆盖了从基础语法到实际应用的全方位教程,适合初学者系统学习Objective-C,并通过实践加深理解。通过深入学习,开发者可以掌握开发苹果平台应用程序所需的关键技能。

    Objective-C&UIKit自学笔记

    Objective-C是一种面向对象的编程语言,它在C语言的基础上增加了SmallTalk-80的特性,主要应用于Apple的iOS和macOS平台。Objective-C中的UIKit框架是构建用户界面的基础,提供了丰富的控件和功能来创建iOS应用程序。...

    Objective-C 学习笔记

    NeXT公司由Steve Jobs创立,并在1996年被苹果公司收购,Objective-C也随之成为苹果操作系统的基础,尤其是在Cocoa框架下。Cocoa框架分为两大部分:Foundation框架和Application Kit框架,前者提供了基本的数据结构如...

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

    1. Objective-C概述,介绍了Objective-C的来源、发展历史和作为面向对象的C语言的特点。 2. 第一个OC程序,讲解了如何创建一个OC项目,解释了一些OC程序中的关键字和语法。 3. OC基础语法,对比了OC和C语言的一些区别...

    objective-c编程入门学习笔记

    Objective-C是一种通用、面向对象的编程语言,它是在标准C的基础上进行扩展的。Objective-C主要用于开发macOS和iOS的应用程序,也是苹果官方推荐用于iOS开发的主要语言之一,尽管近年来Swift语言逐渐兴起。 #### 二...

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

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

    Objective-C基础教程第二版

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

    Objective-C语法大全

    Objective-C 是一种面向对象的编程语言,它是C语言的扩展,主要用于Apple的iOS和macOS开发。Objective-C 在XCode环境中进行编写,XCode提供了集成开发环境,包括代码编辑器、Interface Builder(用于设计用户界面)...

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

    1. 继承自C语言,保留了C的语法基础,同时也添加了面向对象的特性。 2. 引入了消息传递机制,通过发送消息给对象来调用方法,这与Java和C#的接口类似。 3. 使用Category来扩展已有类的功能,无需继承。 4. 拥有强大...

    objective-c的总结

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

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

    1. **Objective-C 语言基础**: - **类和对象**:Objective-C 是基于 Smalltalk 的,所以它支持面向对象编程,包括类的定义、对象的实例化等。在计算器程序中,可能有 `Calculator` 类,它包含了计算的方法。 - **...

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

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

    objective c学习笔记和示例

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

    iphone OBJ-C入门笔记

    1. **Objective-C 语言基础** Objective-C 的核心概念之一是类(Class)。类的定义通常包含两个文件:头文件(.h)和源文件(.m)。头文件用于声明类的接口,包括其属性(成员变量)和方法,而源文件则实现这些接口...

    Objective-C

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

    Object-C 学习笔记

    Objective-C(简称Obj-C或Objective C)是苹果公司基于C语言开发的一种面向对象编程语言,主要用于iOS和macOS平台的应用程序开发。它在C语言的基础上添加了Smalltalk风格的消息传递机制,使得面向对象编程更加灵活...

    object-c学习笔记

    这篇学习笔记主要涉及了Objective-C的基础知识,包括对象创建、类的结构、文件导入、实例变量、接口与实现、内存管理和属性。 1. **对象创建**: - `string`方法创建的字符串对象是自动释放的,意味着系统会在适当...

Global site tag (gtag.js) - Google Analytics