李洪强iOS开发之OC[013] -类的创建的练习
//
// 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] -类的创建的练习的更多相关文章
- 李洪强iOS开发之OC[012] -类的声明实现小结
// // main.m // 11 - 内容总结 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All righ ...
- 李洪强iOS开发之OC语言类的深入和分类
OC语言类的深入和分类 一.分类 (一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...
- 李洪强iOS开发之OC[006] - 类和对象
- 李洪强iOS开发之OC[018]对象和方法之间的关系
// // main.m // 18 - 对象和方法之间的关系 // // Created by vic fan on 16/7/14. // Copyright © 2016年 李洪强. A ...
- 李洪强iOS开发之OC常见错误汇总
// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All r ...
- 李洪强iOS开发之OC[014] -对象的存储细节
// // main.m // 13 - 对象的存储细节 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All r ...
- 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量
// // main.m // 07 - 创建一个对象并且访问实例变量 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强 ...
- 李洪强iOS开发之OC[010] - 有参方法的声明实现和调用
// // main.m // 09 - 有参方法的声明实现和调用 // // Created by vic fan on 16/7/5. // Copyright © 2016年 李洪强. ...
- 李洪强iOS开发之OC[017]函数和方法的区别
// // main.m // 15 - 函数和对象的方法的区别 // // Created by vic fan on 16/7/12. // Copyright © 2016年 李洪强. ...
随机推荐
- 常用JS加密编码算法
//#region UTF8编码函数 function URLEncode(Str) { if (Str == null || Str == "") return "&q ...
- 从一个URL下载原始数据,基于byte字节,得到byte数组
public static byte[] loadRawDataFromURL(String u) throws Exception { URL url = new URL(u); HttpURLCo ...
- Android:什么是Holo?【Translated By KillerLegend】
Android:什么是Holo? Martin Brinkmann on May 6, 2013 in Google Android 3 [Translated By KillerLegend] 当你 ...
- Ztack学习笔记(3)-系统启动分析
一 系统启动 //OSAL.cvoid osal_start_system( void ) { #if !defined ( ZBIT ) && !defined ( UBIT ) f ...
- show engine innodb status\G
mysql> show engine innodb status\G *************************** 1. row *************************** ...
- js中typeof可以准确判断哪些变量类型
typeof 运算符返回一个用来表示表达式的数据类型的字符串. 可能的字符串有:"number"."string"."boolean".& ...
- python之函数式编程
python提供了支持函数式编程的简单机制: 1. map函数 2. filter函数 3. reduce函数. 典型的M/R计算模型. 但还是有点简单...
- (菜鸟要飞系列)一,基于Asp.Net MVC5的后台管理系统(前言)
今天真是个郁闷的日子,因为老师两个星期前给我的一个任务,用递归算法将Oracle数据库中用户信息及权限显示在jquery-treeView上,网上虽然有大神写出了这类算法,但是不贴全部代码,真的很难跟 ...
- matlab实现贝塞尔曲线绘图pdf查看
贝塞尔曲线绘图方法: %Program 3.7 Freehand Draw Program Using Bezier Splines %Click in Matlab figure window to ...
- VBS基础篇 - FileSystemObject对象
文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级对象是FileSystemObject FSO包含的常见对象有: ...