李洪强iOS开发之类的创建的练习

//

//  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;

}

时间: 2024-11-03 00:11:44

李洪强iOS开发之类的创建的练习的相关文章

李洪强iOS开发-网络新闻获取数据思路回顾

李洪强iOS开发-网络新闻获取数据思路回顾 01 创建一个继承自AFHTTPSessionManager的工具类:LHQNetworkTool 用来发送网络请求获取数据  1.1 定义类方法返回单例对象 1.2 单例的实现,设置baseURL,设置超时时长等 02 创建一个分类, 传入一个类的参数返回一个数组,返回当前类的所有属性 用在模型中处理模型数据 03 创建图片轮播模型(model)类发送请求获取轮播图片的数据  3.1 定义属性: 标题,图片 定义两个类方法: (1)传入一个字典的参数

李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档

李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档 SDK 2.x 至 3.0 升级指南 环信 SDK 3.0 升级文档 3.0 中的核心类为 EMClient 类,通过 EMClient 类可以获取到 chatManager.groupManager.contactManager.roomManager对象.原来 2.0 版本的 SDK 很多方法提供了同步.异步回调.异步(block)三种方法,3.0 版只提供同步方法(async开头的方法为异步方法). 例如: //2.0

李洪强iOS开发Swift篇—09_属性

李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个.swift文件 Swift中类的定义格式 1 class 类名 { 2 // ... 属性和方法 3 } 二.属性 1.什么是属性 Swift中的属性(Properties),就类似于其他面向对象语言中的成员变量 2.属性的分类 按照官方文档的说明,属性可以分为以下几种 (1)存储属性(Sto

李洪强iOS开发之-环信04_消息

李洪强iOS开发之-环信04_消息 消息:IM 交互实体,在 SDK 中对应的类型是 EMMessage.EMMessage 由 EMMessageBody 组成. 构造消息 构造文字消息 EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithText:@"要发送的消息"]; NSString *from = [[EMClient sharedClient] currentUsername];   //生成Messag

李洪强iOS开发之性能优化技巧

李洪强iOS开发之性能优化技巧 通过静态 Analyze 工具,以及运行时 Profile 工具分析性能瓶颈,并进行性能优化.结合本人在开发中遇到的问题,可以从以下几个方面进行性能优化. 一.view优化 1.不透明的View 设置为opaque. 2.根据实际情况重用.延迟加载或预加载View. 3.减少subviews数量,定制复杂cell使用drawRect.尽量使用drawRect而不是layoutSubView. 4.不直接调用drawRect. layoutSubviews方法.万不

李洪强iOS开发之动态获取UILabel的bounds

李洪强iOS开发之动态获取UILabel的bounds 在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法. 1.获取宽度,获取字符串不折行单行显示时所需要的长度  CGSize labelBounds = [str sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)]; 注:如果想得到宽度的话,size的width应该设为MAXFLOAT. 2.获取高度,获取字符串在指定的siz

李洪强iOS开发之数据存储

李洪强iOS开发之数据存储 iOS应用数据存储的常用方式 1.lXML属性列表(plist)归档 2.lPreference(偏好设置) 3.lNSKeyedArchiver归档(NSCoding) 4.lSQLite3 5.lCore Data Documents: 保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游戏存档保存在该目录 tmp: 保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除.应用没有运行时,系统也可能会清除该目录

李洪强iOS开发之 - 项目架构

李洪强iOS开发之 - 项目架构 01 - 在Appdelegate中设置跟控制器 //导入头文件

李洪强iOS开发之-修改状态栏的字体的颜色

李洪强iOS开发之-修改状态栏的字体的颜色 修改的效果: -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [_magicController.view setFrame:CGRectMake(0, 0, CFScreenW, self.view.height-120)]; if ([UIApplication sharedApplication].statusBarStyle != UIStatusBar