//
// 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--练习的更多相关文章

  1. oc总结

    OC10天大纲 一.类和对象 1.什么是类? 同一种对象的抽象就是类. 2.什么是对象? 世界上的任何事物都可以称为对象,每个对象都有他自己的属性和行为. 3.如何创建一个类(请把一个.h和一个.m粘 ...

  2. oc界面开发整理

    oc界面开发整理 ViewController.h from test82 #import <UIKit/UIKit.h> @interface ViewController : UIVi ...

随机推荐

  1. 5.14web相关概念

    1.软件架构 1.C/S:客户端/服务器端 2.B/S:浏览器/服务器端 2.资源分类 1.静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析如:html,cs ...

  2. CSS制作简单loading动画

    曾经以为,loading的制作需要一些比较高深的web动画技术,后来发现大多数loading都可以用“障眼法”做出来.比如一个旋转的圆圈,并不都是将gif图放进去,有些就是画个静止图像,然后让它旋转就 ...

  3. crontab与系统时间不一致

    将线上数据库迁移至虚拟机后,运维没有把时间修改. 在后期把时间修改完成后,在数据库上也要修改修改,但是定时任务的备份时间却不在凌晨4点执行,而是在中午12:10分执行. 原因是修改时间后,需要重启cr ...

  4. JSP_内置对象_out

    out对象是JspWriter类的实例,是向客户端输出内容的常用对象,常用方法如下: void println() 向客户端打印字符串 void clear() 清除缓冲区的内容,如果在flush之后 ...

  5. 【转】虚拟化(四):vsphere高可用功能前提-共享存储搭建

    vsphere高级功能HA.DRS.FT等,都需要有共享存储环境,即多台esxi主机同时连接一个共享存储,这样在新建虚拟机时,可以指定把虚拟磁盘保存在共享存储上,便于虚拟机在各个主机之间“飘移”. 常 ...

  6. lvs负载均衡net模式

    环境配置,一台双网卡的ens33,ens37,ens37的网关是ens33的IP,指定一下nginx ens33,192.168.30.22,ens37,172.16.1.1nginx  192.16 ...

  7. mongodb分片集群开启安全认证

    原文地址:https://blog.csdn.net/uncle_david/article/details/78713551 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用 ...

  8. Codeforces 902B - Coloring a Tree

    传送门:http://codeforces.com/contest/902/problem/B 本题是一个关于“树”的问题. 有一棵n个结点的有根树,结点按照1~n编号,根结点为1.cv为结点v的色号 ...

  9. fastadmin 接口(上传)

    /** * 添加注释指南 * */ public function store(Request $request) { dump($request);exit; $name = $request-&g ...

  10. phpcms 电脑手机合并

    电脑手机端 ========================== <script type="text/javascript"> function browserRed ...