iOS开发zhiATM机的设计与实现
来源:互联网 发布:java的volatile 编辑:程序博客网 时间:2024/04/30 04:49
//// main.m// ATM//#import <Foundation/Foundation.h>#import "ATM.h"#import "Money.h"#import "BankCard.h"int main(int argc, const char * argv[]){ ATM * atm = [[ATM alloc]init]; //atm->_saveMoneyCount = 1000; BankCard * card = [BankCard alloc];// [card set_cardNumber:@"12345678"];// [card set_userName:@"张三"]; [atm tellMoney:TypeOfMoneyFake]; [card showCardNumber:@"12345678"]; [card showUserName:@"李四"]; NSLog(@"%@",card); [atm saveMoney:10000]; NSLog(@"%@",atm); [atm getMoney:5000]; NSLog(@"%@",atm); return 0;}
#import <Foundation/Foundation.h>#import "BankCard.h"#import "Money.h"@interface ATM : NSObject{ //用来记录钱的总数 int _countOfMoney; //存钱数目 int _saveMoneyCount; //取钱数目 int _getMoneyCount;}@property int _countOfMoney;@property int _saveMoneyCount;@property int _getMoneyCount;-(void)saveMoney:(int)saveMoney;-(void)getMoney:(int)getMoney;-(void)tellMoney:(TypeOfMoney)typeOfMoney;@end
#import "ATM.h"@implementation ATM@synthesize _countOfMoney = countOfMoney;@synthesize _saveMoneyCount = saveMoneyCount;@synthesize _getMoneyCount = getMoneyCount;-(void)saveMoney:(int)saveMoney{ //这里参数名称的命名最好不好和实例变量的名称相同 //如果这样做会发生将实例变量隐藏 不影响运行,但是会有警告 _saveMoneyCount = saveMoney; _countOfMoney = _saveMoneyCount; NSLog(@"%d",_saveMoneyCount);}-(void)getMoney:(int)getMoney{ _getMoneyCount = getMoney; _saveMoneyCount -= getMoneyCount; NSLog(@"%d",_getMoneyCount);}-(void)tellMoney:(TypeOfMoney)typeOfMoney{ switch (typeOfMoney) { case TypeOfMoneyReal: NSLog(@"真币"); break; case TypeOfMoneyFake: NSLog(@"假币"); break; default: break; }}-(NSString *)description{ return [NSString stringWithFormat:@"银行卡结余=%d 存入钱数=%d 取出钱数=%d ",_countOfMoney,_saveMoneyCount,_getMoneyCount];}@end
#import <Foundation/Foundation.h>enum TypeOfMoney{ TypeOfMoneyReal,//真币 TypeOfMoneyFake//假币};typedef enum TypeOfMoney TypeOfMoney;@interface Money : NSObject@end
#import "Money.h"@implementation Money{ }@end
#import <Foundation/Foundation.h>@interface BankCard : NSObject{ /**用来存储银行卡账号*/ NSString * _cardNumber; /**用来存储银行卡使用者姓名*/ NSString * _userName;}-(void)showCardNumber:(NSString *)number;-(void)showUserName:(NSString *)name;@property NSString * _cardNumber;@property NSString * _userName;@end
#import "BankCard.h"@implementation BankCard@synthesize _cardNumber = carNumber;@synthesize _userName = userName;-(void)showCardNumber:(NSString *)number{ //这里忘记了传参数!!! _cardNumber = number; NSLog(@"%@",_cardNumber);}-(void)showUserName:(NSString *)name{ _userName = name; NSLog(@"%@",_userName);}-(NSString *)description{ return [NSString stringWithFormat:@"账号:%@ 用户名:%@",_cardNumber,_userName];}@end
0 0
- iOS开发zhiATM机的设计与实现
- ios开发-电话本的设计与实现
- ios开发之自动售货机的设计与实现
- IOS开发之微博的设计与实现
- iOS 开发之IPad的设计与实现
- ios开发之公交卡系统的设计与实现
- ios开发之电子优惠券的设计与实现
- IOS手游开发设计与实现
- [IOS开发教程] ios开发之公交卡系统的设计与实现
- iOS SDK的设计与实现
- iOS开发笔记之十五——管理类的设计与实现
- IOS开发之电子菜单的设计与实现(继承、封装、多态)
- IOS开发之类的声明与实现
- ios开发的设计模式
- ios 开发的设计模式
- SNS底层数据结构的设计架构与开发实现
- 【android开发】自定义数字软键盘的设计与实现
- 开发笔记 (13) : AOI 服务的设计与实现
- C++ STL学习之stack
- 学习锐捷交换机的个人心得
- 不积跬步无以至千里(五)
- Android基础入门教程——1.10 反编译APK获取代码&资源
- 《深入浅出struts2》--第一章,Model2应用程序
- iOS开发zhiATM机的设计与实现
- 本地搭建Hadoop伪分布式环境之三:FlashFXP上传文件到Ubuntu
- uva 11234 Expressions(建立二叉树+层次遍历)
- Android自己动手打造XML解析框架
- eclipse解决editor does not contain a main type的方法
- Vim技巧之重复
- 初识命令行参数(以my_chmod为例)
- Python绘图基础
- Android 代码混淆打包