OC基础--OC中类的定义
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中类的定义的更多相关文章
- OC基础--OC中类的声明与定义
OC中设计一个类的步骤: 一.声明类: 1.用到的关键字--@interface 和 @end 2.类名 3.继承NSObject 4.属性 5.方法(行为,只需要声明) 二.实现(定义)类 1.用到 ...
- ios开发之OC基础-oc小程序
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...
- OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...
- OC基础--OC中的类方法和对象方法
PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...
- OC基础--OC内存管理原则和简单实例
ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...
- OC基础 类的三大特性
OC基础 类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属 ...
- OC基础-第1天
#pragma mark - Day01_01_OC语言的历史(了解) 1) Objective - C 是一门面向对象的高级语言 2) Objective - C 简称 obj - C \ OC ...
- OC基础 代理和协议
OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法. (2)协议的使用步骤:制定协议-->遵守协议-->实现协议 ...
- OC基础 点语法的使用
OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...
随机推荐
- function [ binary,decimal ] = num2binary16( number )
function [ binary,decimal ] = num2binary16( number ) %The IEEE 754 standard specifies a binary16 as ...
- java 21 - 3 字符输入流
所谓的输入流,就是读取文件中的数据 同样的,字符输入流InputStreamReader 4个构造方法,不过2个比较常用: 构造方法: A:InputStreamReader(InputStream ...
- 会动的大风车(css3)
今天用css3的写了一个会动的大风车,使用translate和rotate布局,使用animation制作动画效果:分享给大家 <!DOCTYPE html> <html lang= ...
- .Net 项目代码风格要求小结
代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. ...
- f2fs解析(十)nid 如何从nat_root中删除
上面我们谈到了一个nid如何从free_nid中转移到node_info中去[分别有一个链表和一棵基数树搭伙做事],讲free_nid时,详细说明了free_nid中是如何进如何出的,上一篇说了nid ...
- 20Spring_JdbcTemplatem模板工具类
JdbcTemplate 是Spring提供简化Jdbc开发模板工具类.为了更好的了解整个JdbcTemplate配置数据库连接池的过程,这篇文章不采用配置文件的方式,而是采用最基本的代码 的方式来写 ...
- Delphi7下SuperObject的JSON使用方法
uses superobject; procedure TForm1.FormCreate(Sender: TObject); var aJson: ISuperObject; aSuperArray ...
- Implement Stack using Queues
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...
- C语言 文件操作6--文件打开方式详解
fopen文件打开模式 r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在r+ 打开可读可写的文件,该文件必须存在(这里的写 ...
- Integrating JAD decompiler into JDeveloper(转)
原文地址:Integrating JAD decompiler into JDeveloper In JDeveloper, when debugging or otherwise navigatin ...