//

//  main.m

//  12 - 类的创建练习

//

//  Created by vic fan on 16/7/9.

//  Copyright © 2016年 李洪强. All rights reserved.

//

//练习:

/*

一个人可以吃不同的食物,只要吃东西就会增加体重0.6,如果要是出 门遛弯,每走100步,体重减0.2,小于100步忽略不计。

请用面向对象思想实现。

思路:

类名:Person

属性:年龄(_age)、体重(_weight)、姓名(_name)

动作:吃饭(eat)方法、散步(walk)方法

功能:人可以吃各种食物体重增加0.6

每走100步,体重减0.2,小于100步忽略不计

*/

#import <Foundation/Foundation.h>

//类的声明

@interface Person : NSObject

{

@public

//定义实例变量

int _age;//年龄

float _weight;//体重

NSString *_name;//姓名

}

//方法的声明

//吃

- (void)eat:(NSString *)foodName;

//散步方法

- (void)walk:(int)num;

@end

//类的实现

@implementation Person

//方法的具体实现

- (void)eat:(NSString *)foodName{

_weight += 0.6f;

NSLog(@"%@吃了%@,当前体重:%.2f",_name,foodName,_weight);

}

- (void)walk:(int)num{

//_weight - num/100 *0.2;

_weight -= num/100 *0.2;

NSLog(@"%@走了%d步,当前体重%.2f",_name,num,_weight);

}

@end

int main(int argc, const char * argv[]) {

@autoreleasepool {

// 1 创建对象

Person *person = [Person new];

//2 给实例变量赋值

person->_name = @"周杰伦";

person->_weight = 100;

person->_age = 18;

//3 调用方法

[person eat:@"辣条"];

[person eat:@"麻辣烫"];

}

return 0;

}

李洪强iOS开发之OC[013] -类的创建的练习的更多相关文章

  1. 李洪强iOS开发之OC[012] -类的声明实现小结

    // //  main.m //  11 - 内容总结 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All righ ...

  2. 李洪强iOS开发之OC语言类的深入和分类

    OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...

  3. 李洪强iOS开发之OC[006] - 类和对象

  4. 李洪强iOS开发之OC[018]对象和方法之间的关系

    // //  main.m //  18 - 对象和方法之间的关系 // //  Created by vic fan on 16/7/14. //  Copyright © 2016年 李洪强. A ...

  5. 李洪强iOS开发之OC常见错误汇总

    // //  main.m //  16 - 常见错误汇总 // //  Created by vic fan on 16/7/13. //  Copyright © 2016年 李洪强. All r ...

  6. 李洪强iOS开发之OC[014] -对象的存储细节

    // //  main.m //  13 - 对象的存储细节 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All r ...

  7. 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量

    // //  main.m //  07 - 创建一个对象并且访问实例变量 // //  Created by vic fan on 16/7/3. //  Copyright © 2016年 李洪强 ...

  8. 李洪强iOS开发之OC[010] - 有参方法的声明实现和调用

    // //  main.m //  09 - 有参方法的声明实现和调用 // //  Created by vic fan on 16/7/5. //  Copyright © 2016年 李洪强. ...

  9. 李洪强iOS开发之OC[017]函数和方法的区别

    // //  main.m //  15 - 函数和对象的方法的区别 // //  Created by vic fan on 16/7/12. //  Copyright © 2016年 李洪强. ...

随机推荐

  1. iOS获取汉字的拼音

    在iOS开发中经常涉及到汉字的排序,最常见的就是需要根据首字母的字符顺序排列,比如常见的通讯录等.总结出来,大致可以分为两种方法,其中参考文献[1]中提供的方法十分复杂,利用查表的方法是先,并且代码量 ...

  2. 【Qt】QSettings读写注册表、配置文件【转】

    简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见“更多参考 ...

  3. Mongodb 级联删除查询操作

    ObjRelationPojo表一条记录 public class YpObjRelationPojo implements Serializable { @Id private String id; ...

  4. jqueryGrid 内置的onclickSubmit afterSubmit

    $(document).ready(function() { $('#jpgCustomers').jqGrid({ //url from wich data should be requested ...

  5. R简易入门(二)

    本文内容来源:https://www.dataquest.io/mission/128/working-with-data-frames 本文摘要:简单介绍一下用R处理数据   原始数据展示(这是一份 ...

  6. 《零成本实现Web自动化测试--基于Selenium》 第四章 Selenium 命令

    Selenium 命令,通常被称为Selenese,由一系列运行测试案例所需要的命令构成.按顺序排列这些命令就构成了测试脚本. 一. 验证颜面元素 1.Assertion或者Verification ...

  7. 【转】RunTime.getRunTime().addShutdownHook用法

    Runtime.getRuntime().addShutdownHook(shutdownHook); 这个方法的含义说明: 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行 ...

  8. Flex xxx-app.xml配置

    <?xml version="1.0" encoding="UTF-8"?>  <application xmlns="http:/ ...

  9. 微软更换考试中心后报名攻略以及MCT半价

    微软从Prometric更换为Pearson的考试中心,比起以前的预约流程更加便捷. Pearson VUE为微软公司提供MCP考试服务 Pearson VUE为微软公司提供MCP考试服务 http: ...

  10. 还原没有日志文件的SQL数据库

    1.执行命令示例: EXEC sys.sp_attach_db @dbname = 'AdventrueWorks2012_Data',     @filename1 = N'C:\Program F ...