1.关键字命名:为了避免与已有的c,C++关键字冲突,ObjectC关键字都有@开始:

如:@classs,@interface,@private,@try,@catch,@protocol等。 



2.oc类分为2个文件,一个是.h文件,一个是.m文件:

.h文件:存放类,函数的申明;类申明使用关键字@interface @end来申明;

.m文件:存放类的具体实现;类实现使用关键字@implementation @end来实现; 



3.对象的方法和类的方法:

+表示类的方法;

-表示对象的方法 



4.类的申明 Dog.h:

#import<Foundation/Foundation.h>

@interface Dog:NSObject{



}

@end 



5.类的实现 Dog.m:

#import "Dog.h"

@implementation Dog 



@end 



6.创建和销毁OC对象:

创建对象:Dog *dog=[Dog alloc];//申明对象必须要带*号,即代表指针,也代表引用

初始化:[dog init];

销毁对象:[dog release]; 



7.类中的字段和函数:

@interface Dog:NSObject

{

//字段定义在此 

   int age; 

}  

//函数定义在此:OC的函数全部是public类型的,可以用其他方式实现私有函数

-(void)setAge:(int)newAge;

@end

 

8.完整实例:

//Dog.h 类申明文件
#import<Foundation/Foundation.h>
@interface Dog:NSObject{
int age;
}
-(id)init;
-(id)initWidthAge:(int)newAge;
-(int)getAge;
-(void)setAge:(int)newAge;
@end //Dog.m 类的实现
#import "Dog.h"
@implementation Dog
-(id)init{
return [self initWithAge:10];
}
-(id)initWithAge:(int)newAge{
self=[super init];
if(self){
age=newAge;
}
return self;
}
-(int)getAge{
return age;
}
-(void)setAge:(int)newAge{
age=newAge;
}
@end

Object-C中的类-类的声明的更多相关文章

  1. C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?

    C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译? 这个feature叫做Export Template,即外名模板,它的作用在于使得模板代码可依照C/C++语言习惯,将模板声明和实现 ...

  2. Java中特殊的类——Object类

    Java中特殊的类--Object类 1.Object类的概述 Object类是java默认提供的类.Java中除了Object类,所有的类都是有继承关系的.默认会继承Object类,即所有的对象都可 ...

  3. 【转载】C++中的基类与派生类

    转自:http://www.cnblogs.com/sujz/articles/2044365.html 派生类的继承方式总结: 继承方式 说明 public 基类的public和protected的 ...

  4. 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

    ---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...

  5. C#中的bitmap类和图像像素值获取方法

    一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下: 1. GetP ...

  6. C++中的基类与派生类

    派生类的继承方式总结: 继承方式 说明 public 基类的public和protected的成员被派生类继承后,保持原来的状态 private 基类的public和protected的成员被派生类继 ...

  7. C++中的基类和派生类

    转载自:http://www.cnblogs.com/sujz/archive/2011/05/12/2044365.html 派生类的继承方式总结: 继承方式 说明 public 基类的public ...

  8. QF——OC中的SEL类型和Block

    @selector(): 可以理解@selector()就是取类方法的编号,他的基本行为类似于C语言中的函数指针(指向函数的指针).它们通过传递方法的地址(或编号)来实现把方法当做参数的效果. 不过在 ...

  9. Java基础---IO(三)--IO包中的其他类

    第一讲     对象序列化 一.概述 将堆内存中的对象存入硬盘,保留对象中的数据,称之为对象的持久化(或序列化).使用到的两个类:ObjectInputStream和ObjectOutputStrea ...

  10. Python中如何获取类属性的列表

    这篇文章主要给大家介绍了在Python中如何获取类属性的列表,文中通过示例代码介绍的很详细,相信对大家的学习或者工作具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧. 前言 最近工作 ...

随机推荐

  1. jquery开发之第一个程序

    前一段时间学习了js和css.可是发现好多的程序里面都用到了jquery当时本来想着先吧js弄熟了 再搞这个.后来发现不行,好多的程序好像是有益和自己为难似的,所以我决定接下来认认真真的把jquery ...

  2. DELPHI PROTOBUF免费的开源支持库fundamentals5

    DELPHI PROTOBUF免费的开源支持库fundamentals5 1.源码URL: https://github.com/fundamentalslib/fundamentals5 2.编译P ...

  3. appium+python自动化57-chromedriver与chrome版本

    前言 由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chromedriver版本.如何根据当 ...

  4. Unity3d地图制作之模型高光

    由于颇受暗黑破坏神美工的影响,最近都在研究怎么制作场景地图之类的. 那么今日讲的模型高光虽然和地图无关,但是也涉及到一些美工的知识,尤其是shader. 按照国际惯例,先贴一张图饱饱眼福. 大家可以看 ...

  5. easyui icon的使用相关

    easyui的默认图标有以下这些: .icon-blank{ background:url('icons/blank.gif') no-repeat; } .icon-add{ background: ...

  6. create xml file from sql script

    Declare @xmlDoc xmlSET @xmlDoc = (SELECT * FROM USERS AS UserTable For XML AUTO, ELEMENTS, ROOT('Roo ...

  7. ownCloud 的六大神奇用法

    ownCloud 是一个自行托管的开源文件同步和共享服务器.就像“行业老大” Dropbox.Google Drive.Box 和其他的同类服务一样,ownCloud 也可以让你访问自己的文件.日历. ...

  8. RS导出Excel交叉表角对应的列占用多列问题

    在Cognos报表展示的时候,很多用户为了计算会把数据报表导出成excel然后再做统计,于是乎我做的一张报表导出成Excel的时候就出现了这样的问题 从上图可以看出交叉表角对应的列 ‘一级手术’和‘二 ...

  9. Hadoop之MapReduce命令

    概述 全部的Hadoop命令都通过bin/mapred脚本调用. 在没有不论什么參数的情况下.执行mapred脚本将打印该命令描写叙述. 使用:mapred [--config confdir] CO ...

  10. Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接

      Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接: 推荐给你高品质的实战课程 https://laravel-china.org/courses?rf=158 ...