【Objective-C】02.第一个OC语言类

02.第一个OC语言类

在java语言中,创建一个类只需要一个文件,而在oc语言中,创建一个类需要两个文件.m文件和.h文件。

.h文件是声明类,用来声明成员变量和方法。用关键词@interface来修饰,以@end结尾。

.m文件是实现类,用来实现成员变量和方法,用关键词@implementation来修饰,以@end结尾。

方法:在oc语言中方法都需要用+或-来表明方法的类型。

+表示的是静态方法。

-表示的是动态方法。

.h文件中的所有方法都是public,不能更改。

成员变量:成员变量按作用域不同可以划分为:public   protected   private

所有的类最后都会继承NSobject.

Student.h文件

#Import <foundation/foundation.h>    //该student类继承NSobject类,因此需要引用foundation框架下的foundation.h文件。

@interface student :NSobject {        //声明student类然后继承自NSobject类。将成员变量放在{}当中

Int age;                                         //一般会将成员变量的声明放在头文件当中,age的

Int height;

@public                                       //声明不同类型的成员变量

Int weight;

}

@end

Student.m文件

#import“student.h”                           //必须引用该类的头文件,否则无法实现声明,就假设头文件是名字,工程文件是身体,没有名字就没有身体。

@implementation student{                 //实现student类

}

@end

添加方法

为了保持面向对象的封装性,在java语言中,get方法和set方法都要用到getname和setname。在oc中,get方法需要用到与原名字同名的方法,例如age方法可以用age函数来获取age变量。

#import <foundation/foundation.h>

@interface student:NSobject{

Int age;

Int height;

}                                                                                           //{}起始终止与成员变量

-(int)age;                                                                         //age的get方法,返回值类型用(int)表示

-(void)setage:(int)Newage;                                                 //无返回值,参数用:引出(int)为参数数据类型,形参名称为newage.返回值或者参数的类型都要用()包住。

- (void)setage:(int)Newage andheight(int)Newheight;            //在oc中一个:对应一个参数,而且:也是方法名的一部分,因此方法名是setage:

-(void)setage:(int)Newage andheight:(int)height;            // 增加一个方法可以同时操作age和height

//方法名是setage:andheight:动态方法,无返回值,有两个参数,andheight可以省略。方法名可以是(void)setage:(int)Newage:(int)height;

在student.m中的实现方法

#import “student.h”

@implementation student

-(int)age{

Return age;

}

-(void)setage:(int)newAge{

Age=newAge;

}

@end

Student.h和student.m都有了,这个student类就完成了,接下来就要用student类来创建一个实例。

@Import <foundation/foundation.h>

@import student.h

int main(int argc, const char * argv[]){                 //在oc语言中,所有的对象存储类型都是指针,即开辟一块内存空间,然后存入相应的类型数据,然后用指针指向。

@autoreleasepool{

Student *stu=[[student alloc]init];                   //在oc语言中,[调用方法的主体 方法名]就可以调用方法了。在oc中创建对象,首先需要要用创建对象的类开辟一块内存空间,然后对类进行初始化,这样对象才可以使用。

[stu release];//对象销毁

}

Return 0;

}

Student stu=[student alloc];                             //用student类型开辟了一段内存空间,并创建stu指针来指向这片内存空间。刚创建的内存空间没有经过初始化时无法使用的,必须初始化之后才能使用。

Stu=[Stu init];                                              //将stu指针指向的那片内存空间初始化,并将初始化后的stu地址返回给指针。静态变量可以由类来调用。动态变量可以用对象来调用。

因此在oc语言中调用方法实际上需要【调用方法主体 方法名】

销毁对象,在方法调用结束之后,需要手动销毁对象。

前面的stu调用了alloc和init等一些其他的方法,这些方法并不是因为调用了foundation.h文件,而是因为student的父类是NSobject,所以可以调用这些方法。

在创立了student类的stu对象,如何调用这些方法和成员变量。

1 import <Foundation/Foundation.h>

2 #import "Student.h"

3

4 int main(int argc, const char * argv[])

5 {

6     @autoreleasepool {

7         Student *stu = [[Student alloc] init];

Stu->age=18; //只有成员变量是public的可以用指针的形式直接访问。

[Stu setage:18];//受保护的成员变量可以通过set方法来调用。

Int newage=[stu->age];

Int newage=[stu age];

时间: 2024-10-13 08:02:50

【Objective-C】02.第一个OC语言类的相关文章

视频iOS之02第一个OC的类

OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 第一个类的源码: 1 /* 2 人 3 类名:Person 4 属性(成员变量\实例变量):体重.年龄 5 行为(方法):走路.吃 6 */ 7 8 #import <Foundation/Foundation.h> 9 10 //1.类的声明 11 @interface Person : NSObject 12 { 13 @public 14 int age; 15 double we

第一个OC的类

[转自]http://www.cnblogs.com/mjios/archive/2013/04/06/3002814.html 本文目录 一.语法简介 二.用Xcode创建第一个OC的类 三.第一个类的代码解析 四.添加成员变量 五.添加方法 六.跟Java的比较 七.创建对象 八.访问公共成员变量和方法 说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.

OC语言类的本质和分类

OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警

【Objective-C】05-第一个OC的类

OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 一.语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类:在OC中,一般用2个文件来描述一个类: 1> .h:类的声明文件,用于声明成员变量.方法.类的声明使用关键字@interface和@end. 注意:.h中的方法只是做一个声明,并不对方法进行实现.也就是说,只是说明一下方法名.方法的返回值类型.方法接收的参数类型而已,并不会编写方法内部的代码. 2> .m:

转:【Objective-C】第一个OC的类

本文目录 一.语法简介 二.用Xcode创建第一个OC的类 三.第一个类的代码解析 四.添加成员变量 五.添加方法 六.跟Java的比较 七.创建对象 八.访问公共成员变量和方法 说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题. OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.

李洪强iOS开发之OC语言类的深入和分类

OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警

学习笔记之05-第一个OC的类

一.语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类:在OC中,一般用2个文件来描述一个类: 1> .h:类的声明文件,用于声明成员变量.方法.类的声明使用关键字@interface和@end. 注意:.h中的方法只是做一个声明,并不对方法进行实现.也就是说,只是说明一下方法名.方法的返回值类型.方法接收的参数类型而已,并不会编写方法内部的代码. 2> .m:类的实现文件,用于实现.h中声明的方法.类的实现使用关键字@implementation和@end. 2.方

02第一个OC程序

一.打开XCode4.6.3,新建项目 二.选择Application下的命名行项目 三.输入项目名称,选择Foundation框架创建项目,点击Next 四.二话不说.点击Run.启动我们创建的项目 可以看到输出结果: 好了,第一个OC应用创建完毕!接下来解释下Main.m的内容: 1.#import是一个导入命令,类似于C语言的#include命令,但是相对于#include而言,#import有效的处理了重复导入的问题,在C语言中也提到过如何通过条件编译解决重复导入,而在OC中你不需要处理

C语言入门:02.第一个C语言程序

一.开发工具的选择(1)可以用来写代码的工具:记事本.UltraEdit.Vim.Xcode等(2)选择Xcode的原因:苹果官方提供的开发利器.简化开发过程.有高亮显示功能 (3)使用Xcode新建一个C程序的源代码文件(拓展名为.c或者.C) 二.代码的编写 1.程序结构(1)先C程序的结构:由函数组成 ·任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的  (2)函数的基本概念 ·函数