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

Object C初学学习笔记(1)

 
阅读更多

最近开始学习IOS编程,自然开始接触了Object C 语言,下午看着例子进行了手动尝试了编码,对整个语言有基本的了解。

在Xcode创建Object C class文件,基本的class文件结构相比java语言 ,还是是简单多了,整体的文件结构

首先是头文件,后缀是以 .h头文件,这个文件定义了class的基本结构,有点类似一个类模板,定义class的结构信息

头文件部分

#import <目录/头文件.h> //代表只引入系统库的类的头文件

#import "目录/头文件.h" // 代表默认从当前路径下搜索是否存在对应的头文件,如果不存在,则从系统库里面

类变量部分

static 变量类型 变量名 = 初始值 //其中初始值可以没有

类定义以及成员变量定义部分,框架

@interface XXClass:NSObject <ProtocolA,ProtocolB>{

  @public int a;

  @private float b;

@protected int c;

}

@代表Object C 在C语言的基础上 新引入的关键字的前缀

@interface代表这个是一个类定义,这个和java里面的interface不一样

XXClass代表定义的类名

:NSObject 代表继承了NSObject对象

<ProtocolA,ProtocolB> 代表实现了ProtocolA 和ProtocolB 协议,这个Protocol和java语言里面的interface意义相同

类成员的变量是在 变量作用域 变量类型 变量名

接下来定义方法

-(void) print ;

-(void) setterA : (int) a;

-(void) setterABC : (int) a andB:(float) b andC:(int) c

+(int) toString ;

方法的定义为 方法所有者(返回值):方法名:(参数类型) 参数变量 下一个参数说明:(参数类型) 参数变量名 下一个参数说明 : (参数类型) 参数变量

其中 +代表类方法 -代表实力方法 在java里面相当于是否由static修饰符

其中 方法定义里面多了一个参数说明,这个参数说明有点怪,第一个参数是不能由参数说明的,如果由多个参数,从第二个参数开始,才允许由参数说明,这个参数说明一般情况是在重载的时候使用的,比如我有多个setterValue方法,第一个方法由一个变量,第二个方法有两个变量 ,那么第二个方法里面可以说明第二个变量干嘛用的

最后一行就是类定义结束 使用 @end标签就可以了

下面是一个完整的类定义

#import <Foundation/Foundation.h>

staticint i = 0;

@interface SampleTwoPerson : NSObject<NSCoding>{

NSString *name ;

float weight ;

}

-(SampleTwoPerson*) initNameAndWeight : (NSString*) name andweight:(float) weight andObject:(NSString *) obj;

-(NSString *) getterName ;

-(float) getterWeight;

-(NSString *) toString ;

@end

接下来是写class的实现文件,实现文件后缀是.m

首先还是引入头文件,这里面只需要引入定义的class头文件就可以了

#import "XXClass.h"

下面就是实现了

@implementationXXClass

方法定义 {

  code

  //方法实现代码

};

@end

方法定义和头文件XXClass.h中一样,只需要去掉最后面一个;号即可

同时还需要实现 类定义里面 需要实现的 Protocol 方法即可。

#import "SampleTwoPerson.h"

@implementation SampleTwoPerson

-(SampleTwoPerson*) initNameAndWeight : (NSString*) name1 andweight:(float) weight1 andObject:(NSString *) obj;

{

self->name = name1;

self->weight = weight1;

returnself;

};

-(NSString *) getterName {

return name;

}

-(float) getterWeight{

return weight;

}

-(NSString *) toString {

return name;

}

//下面两个方法是类定义中的 NSCoding 协议的实现

- (void)encodeWithCoder:(NSCoder *)aCoder{

}

- (id)initWithCoder:(NSCoder *)aDecoder{

returnnil;

}

@end

以上就是Object 语言的class文件定义的基本语法。

分享到:
评论

相关推荐

    C语言学习笔记 C语言学习笔记

    本压缩包包含的“C语言学习笔记”是一份详尽的C语言学习资料,旨在帮助读者深入理解和掌握C语言的基本概念、语法结构以及实际应用技巧。 一、C语言基础 C语言的基础包括变量、数据类型、运算符、流程控制等。变量...

    object-c入门学习笔记分享-继承.txt

    object-c入门学习笔记分享--继承,初学者可参考

    C语言学习笔记(个人总结)

    ### C语言学习笔记知识点梳理 #### 一、计算机系统概述 **1.1 计算机系统功能** - **输入**: 将外部数据输入到计算机系统中。 - **处理**: 数据通过程序处理后生成新的数据。 - **输出**: 处理后的数据输出到外部...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。...本文适合Redis初学者和进阶者阅读,是一份全面而实用的学习笔记。

    java学习笔记 初学者必读

    1. 前言 1-4 1.1. JAVA特点 1-4 1.2. 运行原理 1-4 1.3. JAVA目录 1-4 2. 一•基础知识 2-4 2.1. 配置环境 2-4 2.2. Java中基本概念 2-5 3. 二•定义,关键字和类型 3-5 3.1. 注释的三种形式 3-5 3.2. Java代码中的...

    《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记

    这篇学习笔记旨在帮助读者理解C++的内存管理、类的结构、对象的生命周期以及模板等核心概念。 首先,C++的对象模型是基于C的,因此,它涉及到指针、内存布局以及数据成员的排列方式。在C++中,对象是通过在内存中...

    牛人的spring学习笔记,非常适合初学者

    ### 牛人的Spring学习笔记,非常适合初学者 #### 第一课:面向抽象编程 面向抽象编程是一种编程思想,强调在程序设计过程中通过定义抽象层来分离业务逻辑与具体实现细节。这种方式有助于提高软件的可维护性和扩展...

    J2EE学习笔记(J2ee初学者必备手册)

    这份"J2EE学习笔记(J2ee初学者必备手册)"是为初学者量身定制的指导资料,旨在帮助新手快速掌握J2EE的核心概念和技术。 **J2EE架构与组件** J2EE架构基于分层设计,主要包含以下层次: 1. **客户端层**:用户...

    JavaScript学习笔记-适合初学者

    本学习笔记专为初学者设计,旨在帮助新接触JavaScript的人快速掌握这门语言的核心概念和实用技巧。 首先,"JavaScript特效.chm"可能是一份关于JavaScript实现的各种网页特效的教程。这些特效可能包括图片轮播、下拉...

    J2EE学习笔记(J2ee初学者必备手册)

    ### J2EE学习笔记(J2ee初学者必备手册) #### J2EE概览 J2EE(Java 2 Platform, Enterprise Edition)是Sun Microsystems(现已被Oracle收购)为简化企业级应用开发而提出的一种规范标准。它基于Java SE平台,并在...

    JAVA学习笔记-良葛格

    Java学习笔记主要涉及Java语言的历史背景、语言特点、应用平台和学习建议。以下是对这些内容的详细解析: ### Java语言的历史背景 Java起源于1990年代初的Sun公司(现为Oracle公司的一部分)的“绿色项目”计划,...

    web学习笔记 —— javascript基础

    这篇“web学习笔记——javascript基础”将带你走进JavaScript的世界,理解其基本概念和常用语法。 JavaScript语法基础: 1. 变量:在JavaScript中,变量用于存储数据。声明变量使用`var`关键字,例如`var myVar = ...

    C#学习笔记.pdf

    根据提供的文件信息,我们可以提取并展开以下几个核心知识点: ...通过以上知识点的梳理,可以发现这份C#学习笔记涵盖了从基本的类型转换到复杂的图像处理、打印功能等多个方面,是一份较为全面的学习材料。

    c#初学者笔记

    在C#编程语言中,学习基础是至关重要的,特别是对于初学者来说。下面将详细讲解在C#中进行文本文件的读取与存储以及数组文本读取和使用的基础知识。 首先,我们来看文本文件的读取与显示。在这个示例中,使用了`...

    培训机构传出的maven学习笔记

    **正文** Maven是Java开发领域中不可或缺...通过这份学习笔记,初学者将能够快速上手Maven,熟练掌握项目构建流程,提高开发效率。而经验丰富的开发者也能从中学习到新的技巧和最佳实践,提升自身在项目管理中的能力。

    PHP学习笔记1

    标题:PHP学习笔记1 描述:本篇笔记旨在为初学者提供一个系统的学习路径,深入理解PHP编程语言的核心概念与实践技巧。通过本篇笔记,读者将能够掌握PHP的基础语法、变量、数据类型、控制结构、函数、面向对象编程、...

    Redis全套学习笔记(带章节目录)完整版pdf最新版本

    Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。...本文适合Redis初学者和进阶者阅读,是一份全面而实用的学习笔记。

    C# 各种学习笔记 学习中的积累

    以上是C#学习笔记中的核心知识点总结,涵盖了MDI管理、系统托盘和菜单操作、图形和透明度设置、窗口置顶、进程启动、工具栏使用、关闭前询问及打印功能实现等多个方面,对C#初学者或开发者具有较高的参考价值。

Global site tag (gtag.js) - Google Analytics