//

//  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. 常用JS加密编码算法

    //#region UTF8编码函数 function URLEncode(Str) { if (Str == null || Str == "") return "&q ...

  2. 从一个URL下载原始数据,基于byte字节,得到byte数组

    public static byte[] loadRawDataFromURL(String u) throws Exception { URL url = new URL(u); HttpURLCo ...

  3. Android:什么是Holo?【Translated By KillerLegend】

    Android:什么是Holo? Martin Brinkmann on May 6, 2013 in Google Android 3 [Translated By KillerLegend] 当你 ...

  4. Ztack学习笔记(3)-系统启动分析

    一 系统启动 //OSAL.cvoid osal_start_system( void ) { #if !defined ( ZBIT ) && !defined ( UBIT ) f ...

  5. show engine innodb status\G

    mysql> show engine innodb status\G *************************** 1. row *************************** ...

  6. js中typeof可以准确判断哪些变量类型

    typeof 运算符返回一个用来表示表达式的数据类型的字符串.  可能的字符串有:"number"."string"."boolean".& ...

  7. python之函数式编程

    python提供了支持函数式编程的简单机制: 1. map函数 2. filter函数 3. reduce函数. 典型的M/R计算模型. 但还是有点简单...

  8. (菜鸟要飞系列)一,基于Asp.Net MVC5的后台管理系统(前言)

    今天真是个郁闷的日子,因为老师两个星期前给我的一个任务,用递归算法将Oracle数据库中用户信息及权限显示在jquery-treeView上,网上虽然有大神写出了这类算法,但是不贴全部代码,真的很难跟 ...

  9. matlab实现贝塞尔曲线绘图pdf查看

    贝塞尔曲线绘图方法: %Program 3.7 Freehand Draw Program Using Bezier Splines %Click in Matlab figure window to ...

  10. VBS基础篇 - FileSystemObject对象

    文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级对象是FileSystemObject FSO包含的常见对象有:       ...