OC中类的定义与使用跟C#和java差别相当明显,做个笔记,牢记并加以区别!

一、OC中类的定义:关键字@implementation 和 @end

注意事项:

1.定义好一个类之后,要让这个类继承NSObject这个类--是为了让自己定义的类能够具备创造对象的能力

2.继承NSObject后还不算完,NSObject的声明在Foundation框架中,所以--#import <Foundation/Foundation.h>

3.OC中定义的类中,类的属性和方法是分开写的--类的属性定义在“{}”中,再给类中的属性加访问修饰符的时候,只加一次,多个属性相同访问修饰符的时候不用写多次:

  例:

int no;

@public

int age;

float height;

以上属性中只有age 和 height 的访问修饰符是public

4.类中的行为(方法)的位置是在@end的前面,大括号“{}”的外面

5.给对象增加一个行为,必须以减号“-”开头

6.OC方法中的小括号“()”只是用来括住类型的

上代码!

 // 为了能使用NSObject
#import <Foundation/Foundation.h> // 设计(定义)一个车类
// @implementation 和 @end
// : NSObject :让Car这个类具备创建对象的能力
@implementation Car : NSObject
// 这个大括号里面只能写所有的属性
{
// @public:让对象的属性可以被外面的指针访问
@public
int wheels; // 轮子个数
double speed; // 时速
} // 在@end的前面,大括号{}外面写行为
// 给Car对象增加一个行为(方法)
// 给对象增加一个行为,必须以减号 - 开头
// OC方法中的小括号()只是主要扩住类型
- (void) run
{
// 访问车子对象内部的属性,直接用属性名就可以
NSLog(@"%i个轮子,%f时速的车子跑起来了!", wheels, speed);
} @end

二、OC中类的简单使用

注意事项:

1.想要执行一些行为(方法),别忘了中括号“[]”---[ 行为执行者  行为名称 ]

2.new 这个行为执行完毕后,会返回这个对象的地址--用到了结构体中利用指针修改类中属性的方法:

  Car *c = [Car new];//创建Car对象,并返回指针

  c->属性=  ;//或者(*c).属性=  ;

 int main()
{
// 在OC中想执行一些行为,首先写个 [行为执行者 行为名称] // 利用Car这个类,执行创建车子(new)的行为
// new这个行为执行完毕后,会返回这个对象的地址
// 定义了一个指向Car类型数据的指针变量c
// 指针变量c指向的是最新创建的车子对象
Car *c = [Car new];
// 给c指向的车子对象的wheels属性赋值
c->wheels = ;
c->speed = ; // 让内存的车子对象执行跑(run)这个行为
// 给指针变量c指向的对象发送一条run消息,让这个对象执行run这个行为
[c run]; [c run]; //NSLog(@"车有%i个轮子,时速%f km/h", c->wheels, c->speed); return ;
}

    

    

OC基础--OC中类的定义的更多相关文章

  1. OC基础--OC中类的声明与定义

    OC中设计一个类的步骤: 一.声明类: 1.用到的关键字--@interface 和 @end 2.类名 3.继承NSObject 4.属性 5.方法(行为,只需要声明) 二.实现(定义)类 1.用到 ...

  2. ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  3. OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

  4. OC基础--OC中的类方法和对象方法

    PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...

  5. OC基础--OC内存管理原则和简单实例

    ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...

  6. OC基础 类的三大特性

    OC基础  类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属 ...

  7. OC基础-第1天

    #pragma mark - Day01_01_OC语言的历史(了解) 1) Objective - C 是一门面向对象的高级语言 2) Objective - C 简称 obj - C  \  OC ...

  8. OC基础 代理和协议

    OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法. (2)协议的使用步骤:制定协议-->遵守协议-->实现协议 ...

  9. OC基础 点语法的使用

    OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...

随机推荐

  1. Geoserver发布Oracle数据

    在Geoserver安装包中,默认是不能发布Oracle数据库里的数据的,只能发布postgis.shp等数据,详细如截图: 如果想发布oracle数据,得安装相应版本的关于oracle数据源的插件, ...

  2. 事件查看器常见ID代码解释

    ID 类型 来   源 代 表 的 意 义 举 例 解 释 信息 Serial 在验证 \Device\Serial1 是否确实是串行口时,系统检测到先进先出方式(fifo).将使用该方式. 错误 W ...

  3. 如何用ZBrush确定头部五官的位置

    之前和大家讲过如何在ZBrush中确定头部雕刻,在第一阶段中面数很少,只能将大型体雕刻出来,由于面数太少不能进行下面的雕刻.接下来第二阶段的调整,需要重新分布模型表面的网格,增加面数,进行五官的位置的 ...

  4. UESTC 884 方老师的专题讲座 --数位DP

    定义:cnt[L][K]表示长度为L,最高位为K的满足条件C的个数. 首先预处理出cnt数组,枚举当前长度最高位和小一个长度的最高位,如果相差大于2则前一个加上后一个的方法数. 然后给定n,计算[1, ...

  5. HDU 2065 “红色病毒”问题 --指数型母函数

    这种有限制的类棋盘着色问题一般可以用指数型母函数来解决,设Hn表示这样的着色数,首先H0=1,则Hn等于四个字母的(A,B,C,D)的多重集合的n排列数,其中每个字母的重数是无穷,且要求A,C出现的次 ...

  6. C和指针笔记 3.8 static关键字

    当用于不同的上下文环境时,static关键字具有不同的意思. 当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal,但标 ...

  7. javascript发送验证码

    一个发送验证码的javascript代码 var T = 0; var handle = null; var event = null; $(function(){ $('#sendCode').cl ...

  8. Gitub

    1.下载地址(注册:jackchn,jackchn@foxmail.com) http://windows.github.com/ 2.使用 github for Windows使用介绍 搭建一个免费 ...

  9. Contains Duplicate II

    Given an array of integers and an integer k, find out whether there there are two distinct indices i ...

  10. 查询EBS请求日志的位置和名称

    select * from FND_CONCURRENT_PROGRAMS_VL fcp where fcp.USER_CONCURRENT_PROGRAM_NAME like '%CUX%XXXX% ...