`
rysh0818
  • 浏览: 23880 次
  • 性别: 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++中,对象是通过在内存中...

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

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

    JavaScript学习笔记-适合初学者

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

    JAVA学习笔记-良葛格

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

    web学习笔记 —— javascript基础

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

    c#初学者笔记

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

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

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

    PHP学习笔记1

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

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

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

    Allegro学习笔记系列

    Allegro学习笔记系列是为初学者准备的一系列学习笔记,旨在帮助初学者快速掌握Allegro软件的使用和pcb设计的基础知识。本系列笔记中,我们将从基础的Gerber文件格式开始,逐步深入到Allegro软件的使用和pcb设计的...

Global site tag (gtag.js) - Google Analytics