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 ...
随机推荐
- Oracle快速收集AWR的方案
记一种方便的awr收集方法,该脚本可以按小时收集目标时段的awr 素材:awr_generate.sql(具体脚本内容请见本文末尾) (1)将awr_generate.sql置于数据库服务器本地路径, ...
- web前端技术与原生技术的竞争, 及未来的发展
用户界面领域: web技术与原生技术之争 除了浏览器中运行之外, html5的技术也在app领域和移动端的安卓, iOS, 以及桌面端的window, linux以及OS X展开了竞争. 同样属于用户 ...
- (1)dotnet开源电商系统-brnshop&brnMall 和老外开发的nopCommerce(dotnet两套电商来PK--第一篇)
一直想做电商软件,但是实在不想学PHP了,所以前后关注了这两个开源电商系统.一个是国人出品的,一个据说是俄罗斯人写得(不知道对不对).目前两个开源软件都在学习了解中,以下的博文可能会涉及到这两套系统, ...
- ssl_protocols和ssl_ciphers应该怎么配置
http://wiki.nginx.org/HttpSslModule#ssl_ciphers 推荐配置: A) 在Apache 的 SSL 配置中禁用 SSLv3 和 SSLv3SSLProtoco ...
- 卸载pycharm再重新安装后,找不到第三方库
遇到的问题: 看到pycharm出了新的版本,手痒把旧的版本卸载,然后安装了最新的版本,然后问题就来了. 之前通过PIP命令安装的第三方库,import的时候都报错,找不到模块.既然以前能正常使用,现 ...
- Java同步的三种实现方式
1.使用synchronized关键字修饰类或者代码块: 2.使用Volatile关键字修饰变量: 3.在类中加入重入锁 举例子:多个线程在处理一个共享变量的时候,就会出现线程安全问题.(相当于多个窗 ...
- python tips:dict的key顺序
python3.6+版本中,dict的键值保持插入有序. t = list(range(10)) b = t[:] d = dict(zip(t, b)) print(list(d.items())) ...
- Android 性能测试初探(五)
书接上文 Android 性能测试初探之 GPU(四) 前文说了的一些性能测试项大家可能都听说,接下来我们聊聊大家不常关注的测试项- 功耗 . 功耗测试主要从以下几个方面入手进行测试 测试手机安装目标 ...
- Android 性能测试初探(一)
Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试 一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动 ...
- 在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误
在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误 解决:增加Swap空间(阿里云缺省没有分配任何 ...