oc10--练习
- //
- // main.m
- // 练习
- #import <Foundation/Foundation.h>
- @interface Car : NSObject
- {
- @public
- int wheels;
- }
- // 方法的声明必须写在类的声明中
- - (void)run;
- - (void)test;
- @end
- @implementation Car
- - (void)test
- {
- NSLog(@"测试一下车子:%i", wheels);
- }
- // 方法不能使用函数来实现, 方法是方法, 函数是函数
- // 方法属于一个类, 函数属于一个文件
- //void run()
- - (void)run
- {
- NSLog(@"%i个轮子的车跑起来了", wheels); // 不能在一个函数中访问类的成员变量
- }
- // 方法的实现只能写在@implementation和@end之间
- - (void)haha
- {
- NSLog(@"调用了haha");
- }
- @end
- int main()
- {
- Car *c = [Car new];
- [c run];
- // test(); // 方法不能当做函数来调用 , 对象方法只能用对象调用
- [c test];
- // haha();
- [c haha];
- return ;
- }
- @interface Test : NSObject
- - (int)addNum1:(int)num1 andNum2:(int)num2; // 每个参数数据类型前面都必须写上:
- - (double)pi; // 没有参数就不要写:
- - (void)test; // 在OC方法中()就一个作用, 用来扩住数据类型
- @end
- @implementation Test
- - (int)addNum1:(int)num1 andNum2:(int)num2
- {
- return num1 + num2;
- }
- - (double)pi
- {
- return 3.14;
- }
- - (void)test
- {
- }
- @end
- int main()
- {
- return ;
- }
- @interface Person : NSObject
- {
- @public
- int age;
- double height; // 成员变量不能在定义的时候进行初始化
- }
- - (void)study; // 方法只能写在{}外面
- // 缺少@end
- @end
- @implementation Person
- - (void)study
- {
- NSLog(@"年龄为%d的人在学习", age);
- }
- @end
- int main()
- {
- // 地址只能使用指针保存
- Person *p = [Person new];
- p->age = ;
- p->height = 1.78f;
- [p study];
- return ;
- }
- //
- // main.m
- // 练习2
- //
- // Created by xiaomage on 15/6/18.
- // Copyright (c) 2015年 xiaomage. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- {
- @public
- int age;
- double height;
- }
- - (void)print;
- @end
- // int newAge = 10, double newHeight = 1.5
- void test1(int newAge, double newHeight);
- void test2(Person *newP);
- void test3(Person *newP);
- void test4(Person *newP);
- int main()
- {
- Person *p = [Person new];
- p->age = ;
- p->height = 1.5f;
- test1(p->age, p->height); // 10, 1.5
- [p print]; // 10, 1.5
- test2(p); // 指针, 地址
- [p print]; // 20, 1.7
- test3(p); // 指针, 地址
- [p print]; // 20, 1.7
- test4(p); // 指针, 地址
- [p print]; // 60, 1.9
- return ;
- }
- @implementation Person
- - (void)print
- {
- NSLog(@"年龄=%d,身高=%f", age, height); // 10, 1.5
- }
- @end
- void test1(int newAge, double newHeight)
- {
- newAge = ;
- newHeight = 1.6;
- }
- // Person *newP = p;
- void test2(Person *newP)
- {
- newP->age = ;
- newP->height = 1.7;
- }
- // Person *newP = p;
- void test3(Person *newP)
- {
- Person *p2 = [Person new];
- p2->age = ;
- p2->height = 1.8;
- newP = p2;
- newP->age = ;
- }
- void test4(Person *newP)
- {
- Person *p2 = newP;
- p2->age = ;
- p2->height = 1.9;
- newP->age = ;
- }
oc10--练习的更多相关文章
- oc总结
OC10天大纲 一.类和对象 1.什么是类? 同一种对象的抽象就是类. 2.什么是对象? 世界上的任何事物都可以称为对象,每个对象都有他自己的属性和行为. 3.如何创建一个类(请把一个.h和一个.m粘 ...
- oc界面开发整理
oc界面开发整理 ViewController.h from test82 #import <UIKit/UIKit.h> @interface ViewController : UIVi ...
随机推荐
- HTML基础练习
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- Java中的常用类有哪些
1NumberFormat 2DecimalFormat 3BigDecimal 4Math 5Random 6DateFormat 7SimpleDateFormat 8Calendar 9Date ...
- 浅谈Websocket、Ajax轮询和长轮询(long polling)
浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...
- 关于ListView中item与子控件抢夺焦点的解决方法
1.在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button ...
- Android媒体解码MediaCodec MediaExtractor学习
Android提供了MediaPlayer播放器播放媒体文件,其实MediaPlyer只是对Android Media包下的MediaCodec和MediaExtractor进行了包装,方便使用.但是 ...
- SQL Server2008优化之SET STATISTICS开关
一.准备工作 缓存对于某个查询的性能影响十分之大,所以优化之前要清空缓存. 清除Buffer Pool时面的所有缓存 DBCC DROPCLEANBUFFERS清除Buffer Pool里的所有缓存的 ...
- 推荐系统:MovivLens20M数据集解析
MovieLens 是历史最悠久的推荐系统.它由美国 Minnesota 大学计算机科学与工程学院的 GroupLens 项目组创办,是一个非商业性质的.以研究为目的的实验性站点.MovieLens ...
- 图像局部显著性—点特征(FREAK)
参考文章:Freak特征提取算法 圆形区域分割 一.Brisk特征的计算过程(参考对比): 1.建立尺度空间:产生8层Octive层. 2.特征点检测:对这8张图进行FAST9-16角点检测,得到具 ...
- SLAM: Orb_SLAM中的ORB特征
原文链接:什么是ORB 关于Orb特征的获取:参考 最新版的OpenCV中新增加的ORB特征的使用 ORB是是ORiented Brief 的简称,对Brief的特定性质进行了改进. ORB的描述在下 ...
- 时序分析:KMP算法用于序列识别
考研基础资料之一的<算法与数据结构>,KMP算法作为串匹配的基本算法,为必考题目之一.对于算法入门来说,也是复杂度稍高的一个基本算法. KMP算法作为串匹配的非暴力算法,是为了减少回溯而设 ...