OC基础--OC中类的声明与定义
OC中设计一个类的步骤:
一、声明类:
1.用到的关键字--@interface 和 @end
2.类名
3.继承NSObject
4.属性
5.方法(行为,只需要声明)
二、实现(定义)类
1.用到的关键字--@implementation 和 @end
2.实现@interface中声明的方法
3.类中方法的声明和实现一定注意开头写减号“-”
4.OC类中的小括号不能乱用,小括号是用来括住类型的!--谨记!
例: 下面的代码中声明和定义的类,类中的方法没有返回值,没有参数
* 实现@interface中声明的方法
*/ #import <Foundation/Foundation.h> // 类的声明
@interface Dog : NSObject
// 属性
{
@public
int speed;
} // 只是声明
- (void)run; @end // 写完@interface马上写@end // 类的实现(定义)
@implementation Dog // 实现run方法
- (void)run
{
NSLog(@"速度为%i的狗跑起来了", speed);
}
@end int main()
{
Dog *dog = [Dog new];
dog->speed = ; [dog run]; return ;
}
OC中的类的方法名有返回值和参数的情况:
1.一个参数对应一个冒号
2.冒号也是方法名的一部分
/*
设计一个计算器类
1.类名:Caculator
2.行为(方法):
* 返回PI:3.14
* 计算某个数值的平方
* 计算两个数值的和
*/ #import <Foundation/Foundation.h> // 计算器的声明
@interface Caculator : NSObject // 方法的声明
- (double)pi; // 方法名pi,返回值类型是double小括号括住类型,无参数 // - (double)pi:(int)abc; // 方法名pi: // 一个参数对应一个冒号
// 冒号也是方法名的一部分
- (double)pingfang:(double)number; // 方法名:pingfang: // 方法名:sumOfNum1:andNum2:--为了增强代码的可读性
- (double)sumOfNum1:(double)num1 andNum2:(double)num2;
@end int main()
{
Caculator *ca = [Caculator new]; //NSLog(@"PI=%f", [ca pi]); // double d = [ca pingfang:4]; // NSLog(@"4的平方=%f", d); double he = [ca sumOfNum1: andNum2:]; NSLog(@"10+5=%f", he); Caculator *ca2 = [Caculator new]; return ;
} // 计算器的实现
@implementation Caculator // 实现@interface中声明的方法
- (double)pi
{
return 3.14;
} - (double)pingfang:(double)number
{
return number * number;
} - (double)sumOfNum1:(double)num1 andNum2:(double)num2
{
return num1 + num2;
} @end
OC中函数和OC对象方法的区别:
1.函数属于整个文件,在文件的任意地方都能调用;对象方法之属于对象,只有对象才能调用对象方法
2.对象方法只能声明在@interface 和 @end 之间,对象方法只能实现在@implementation 和 @end之间。
函数的声明和定义可以写在任意地方,函数不能归某个类所有,只属于某个文件。
OC中方法的声明与调用图解:
1.有返回值无参数
方法声明: 方法调用:

2.有返回值并且有一个参数
方法声明: 方法调用:

3.有返回值并且有多个参数
方法声明: 方法调用:

OC基础--OC中类的声明与定义的更多相关文章
- OC基础--OC中类的定义
OC中类的定义与使用跟C#和java差别相当明显,做个笔记,牢记并加以区别! 一.OC中类的定义:关键字@implementation 和 @end 注意事项: 1.定义好一个类之后,要让这个类继承N ...
- ios开发之OC基础-oc小程序
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...
- OC基础--OC中的类方法和对象方法
PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...
- OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...
- OC基础--OC内存管理原则和简单实例
ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...
- OC基础 类的三大特性
OC基础 类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属 ...
- OC基础(1)
Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 *:first-child { margin-top: 0 !important; } body > *:last-chi ...
- OC基础-第1天
#pragma mark - Day01_01_OC语言的历史(了解) 1) Objective - C 是一门面向对象的高级语言 2) Objective - C 简称 obj - C \ OC ...
- OC基础 代理和协议
OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法. (2)协议的使用步骤:制定协议-->遵守协议-->实现协议 ...
随机推荐
- 【MVC 4】5.SportsSore —— 一个真实的应用程序
作者:[美]Adam Freeman 来源:<精通ASP.NET MVC 4> 前面建立的都是简单的MVC程序,现在到了吧所有事情综合在一起,以建立一个简单但真实的电子商务应用 ...
- hdu 5861 Road 两棵线段树
传送门:hdu 5861 Road 题意: 水平线上n个村子间有 n-1 条路. 每条路开放一天的价格为 Wi 有 m 天的操作,每天需要用到村子 Ai~Bi 间的道路 每条路只能开放或关闭一次. ( ...
- HDU 5033 Building --离线+单调栈
题意:给一些建筑物,x表示横坐标,h表示高度,然后查询某些坐标x,问从该点看向天空的最大张角是多大. 解法:离线操作,读入所有数据,然后按x升序排序,对每一个查询的x,先从左到右,依次添加x坐标小于x ...
- R语言-merge和rbind
rbind 使用方式 合并两个数据集,要求两个数据集的列数相等: rbind(parameter1,parameter2) 1 1 合并多个数据集,各个数据集的列数相等: rbind(paramete ...
- 关于MySql全文索引
从 Mysql 4.0 开始就支持全文索引功能,但是 Mysql 默认的最小索引长度是 4.如果是英文默认值是比较合理的,但是中文绝大部分词都是2个字符,这就导致小于4个字的词都不能被索引,全文索引功 ...
- WebApi 返回小驼峰式 json 格式,并格式化日期
from:http://blog.csdn.net/magiccops/article/details/42969363 屏蔽默认返回xml格式:Global文件加:GlobalConfigurati ...
- poj 1163 The Triangle
The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 43809 Accepted: 26430 De ...
- 你都认识下面这些参数么?【Camera】
在调试的时候利用下面这个函数将 Camera AP 部分所设置的参数全部 dump 出来了,真是多啊! 这里仅限于 MTK 平台,MTK 自己在相机这块添加了许多功能,所以看起来就有一大堆的参数. 调 ...
- windows 批处理把所有java源码导入一个txt文件中
首先在src下搜*.java,把搜到的文件全拷出来放在allsrc目录下, 然后在allsrc目录下建个run.bat,键入以下内容for %%i in (*.java) do type %%i&g ...
- .net面试题(.Net+Html+Javascript)
.net方面 1.简述 private. protected. public. internal 修饰符的访问权限. 2.override与重载的区别 3..net值类型和引用类型的区别,写出代码样例 ...