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 ...
随机推荐
- 使用T-sql建库建表建约束
为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...
- 开源作品-PHP写的Redis管理工具(单文件绿色版)-SuRedisAdmin_PHP_1_0
前言:项目开发用到了Redis,但是在调试Redis数据的时候,没有一款通用的可视化管理工具.在网络找了一些,但是感觉功能上都不尽人意,于是决定抽出一点时间,开发一个用起来顺手的Redis管理工具.秉 ...
- dotnetnuk错误提醒机制
DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, "关注保存出错.", DotNetNuke.UI.Skins.Controls.Mo ...
- Percona Xtrabackup备份及恢复
1. http://www.percona.com/software/percona-xtrabackup下载并安装 2. 全量备份 a.全量备份到制定目录 innobacku ...
- 【sqli-labs】 less28 GET- Error based -All you Union&Select Belong to us -String -Single quote with parenthesis(GET型基于错误的去除了Union和Select的单引号带括号字符串型注入)
这个不是基于错误的吧,看源码可以知道错误并没有输出 那就使用;%00和order by试一下 http://192.168.136.128/sqli-labs-master/Less-28/?id=1 ...
- c# 读取 XML
XmlDocument xmldoc = new XmlDocument(); string xmlPath = HttpContext.Server.MapPath("~/*****.xm ...
- 微信小程序swiper bindChange重复执行
swiper是微信小程序的一个滑动组件,非常重要.如果只是做简单的轮播图而不进行复杂的逻辑,直接可以使用,甚至不需要知道组件的方法.今天在做一个如下的页面时,快速滑动swiper出现了问题: 控制台打 ...
- java操作Excel的poi的导出Excel表格
页面布局 点击导出用户:触发函数,直接访问后台 后台方法如下: public String export()throws Exception{ Connection con=null; try { c ...
- Codeforces Round #547 (Div. 3) E. Superhero Battle
E. Superhero Battle A superhero fights with a monster. The battle consists of rounds, each of which ...
- String使用方式详细总结
1.用双引号创建 2.用new String方式创建 3.双引号相加创建 4.两个new String相加时 5.两个引用相加时 6.双引号加new String创建或者new String加双引号创 ...