Object-C中的类-类的声明

简介:

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 


目录
相关文章
|
4月前
|
Java
Java Object 类
5月更文挑战第16天
|
21天前
|
Java
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法
|
27天前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
30 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
1月前
|
算法 Java
12 Java常用类(一)(内部类+object类+包装类)
12 Java常用类(一)(内部类+object类+包装类)
28 5
|
2月前
|
Java
Java中的Object类 ( 详解toString方法 | equals方法 )
Java中的Object类 ( 详解toString方法 | equals方法 )
|
4月前
|
存储 算法 Java
滚雪球学Java(42):探索对象的奥秘:解析Java中的Object类
【5月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
40 2
滚雪球学Java(42):探索对象的奥秘:解析Java中的Object类
|
3月前
|
Java
【Java】Object类简单解析
【Java】Object类简单解析
32 1
|
3月前
|
前端开发 JavaScript Java
Java基础10-深入理解Class类和Object类(二)
Java基础10-深入理解Class类和Object类(二)
36 5
|
3月前
|
Java C++
Java基础10-深入理解Class类和Object类(一)
Java基础10-深入理解Class类和Object类(一)
40 4
|
4月前
|
Java
【JAVA学习之路 | 基础篇】Object类及重写的equals()与toString()
【JAVA学习之路 | 基础篇】Object类及重写的equals()与toString()
下一篇
DDNS