20150609类和对象_练习
来源:互联网 发布:卖家卖假货淘宝介入 编辑:程序博客网 时间:2024/05/22 14:39
//// BankAccount.h// IOS150609_OC_Exercise//// Created by Peng Junlong on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import <Foundation/Foundation.h>//<9>.创建一个死期银行账户的类//属性://账户号码//密码(加密)//存储金额//存储年限//方法://构造方法//设置,账户号码,密码//存款//设置年限//取款@interface BankAccount : NSObject{ NSString *_account; NSString *_password; float _money; int _year;}- (id)initWithAccount:(NSString *)account andPassword:(NSString *)password;//setter方法- (void)setPassword:(NSString *)password;- (void)setAccount:(NSString *)account;- (void)setMoney:(float)money;- (void)setYear:(int)year;//getter方法- (NSString *)account;- (NSString *)password;- (float)money;- (int)year;//存款- (float)saveMoney:(float)aMoney;//取款- (float)getMoney:(float)aMoney;@end//==================================================//// BankAccount.m// IOS150609_OC_Exercise//// Created by qianfeng on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import "BankAccount.h"//<9>.创建一个死期银行账户的类//属性://账户号码//密码(加密)//存储金额//存储年限//方法://构造方法//设置,账户号码,密码//存款//设置年限//取款@implementation BankAccount- (id)initWithAccount:(NSString *)account andPassword:(NSString *)password{ if (self = [super init]) { _account = account; _password = password; } return self;}- (void)setPassword:(NSString *)password{ _password = password;}- (void)setAccount:(NSString *)account{ _account = account;}- (void)setMoney:(float)money{ _money = money;}- (void)setYear:(int)year{ _year = year;}- (NSString *)account{ return _account;}- (NSString *)password{ return _password;}- (float)money{ return _money;}- (int)year{ return _year;}- (float)saveMoney:(float)aMoney{ [self setMoney:([self money]+aMoney)]; return [self money];}- (float)getMoney:(float)aMoney{ [self setMoney:([self money]-aMoney)]; return [self money];}@end//============================================//// Fraction.h// IOS150609_OC_Exercise//// Created by Peng Junlong on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import <Foundation/Foundation.h>//创建一个分数类,//类名: Fraction//成员变量: 1. 分子(numerator)//2. 分母(denominator)////实例方法://1. 初始化方法, 带两个参数, 分别带表分子分母//2. setter 方法, getter方法//3. 实现两个分数的加减乘除运算//4. 实现约分//5. 打印分数@interface Fraction : NSObject{ NSInteger _numerator; NSInteger _denominator;}- (id)initWithNumerator:(NSInteger)numerator andWithDenominator:(NSInteger)denominator;- (void)setNumerator:(NSInteger)numerator;- (void)setDenominator:(NSInteger)denominator;- (void)setNumerator:(NSInteger)numerator andDenominator:(NSInteger)denominator;- (NSInteger)numerator;- (NSInteger)denominator;- (void)addFraction:(Fraction *)aFraction;- (void)subFraction:(Fraction *)aFraction;- (void)multiplyFraction:(Fraction *)aFraction;- (void)divideFraction:(Fraction *)aFraction;- (void)reduceFraction;- (void)printFraction;- (NSInteger)greatCommonDivide:(NSInteger)firstNumber andSecond:(NSInteger)secondNumber;@end//=============================================//// Fraction.m// IOS150609_OC_Exercise//// Created by Peng Junlong on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import "Fraction.h"@implementation Fraction- (id)initWithNumerator:(NSInteger)numerator andWithDenominator:(NSInteger)denominator{ if (self = [super init]) { _numerator = numerator; _denominator = denominator; } return self;}- (void)setNumerator:(NSInteger)numerator{ _numerator = numerator;}- (void)setDenominator:(NSInteger)denominator{ _denominator = denominator;}- (void)setNumerator:(NSInteger)numerator andDenominator:(NSInteger)denominator{ _numerator = numerator; _denominator = denominator;}- (NSInteger)numerator{ return _numerator;}- (NSInteger)denominator{ return _denominator;}- (void)addFraction:(Fraction *)aFraction{ NSInteger greatDived = ([self greatCommonDivide:[self denominator] andSecond:[aFraction denominator]]); NSInteger miniCommon = ([self denominator] * [aFraction denominator])/greatDived; NSInteger newNumerator = (miniCommon/[self denominator])*[self numerator] + (miniCommon/[aFraction denominator])*[aFraction numerator]; [self setNumerator:newNumerator]; [self setDenominator:miniCommon]; NSLog(@"Sum = %ld/%ld",newNumerator,miniCommon);}- (void)subFraction:(Fraction *)aFraction{ NSInteger greatDived = ([self greatCommonDivide:[self denominator] andSecond:[aFraction denominator]]); NSInteger miniCommon = ([self denominator] * [aFraction denominator])/greatDived; NSInteger newNumerator = (miniCommon/[self denominator])*[self numerator] - (miniCommon/[aFraction denominator])*[aFraction numerator]; [self setNumerator:newNumerator]; [self setDenominator:miniCommon]; NSLog(@"Sub = %ld/%ld",newNumerator,miniCommon);}- (void)multiplyFraction:(Fraction *)aFraction{ NSInteger newDenominator = [self denominator]*[aFraction denominator]; NSInteger newNumerator = [self numerator] * [aFraction numerator]; [self setNumerator:newNumerator]; [self setDenominator:newDenominator]; NSLog(@"Multiply = %ld/%ld",newNumerator,newDenominator);}- (void)divideFraction:(Fraction *)aFraction{ NSInteger newDenominator = [self denominator]*[aFraction numerator]; NSInteger newNumerator = [self numerator] * [aFraction denominator]; [self setNumerator:newNumerator]; [self setDenominator:newDenominator]; NSLog(@"Divided = %ld/%ld",newNumerator,newDenominator);}- (void)reduceFraction{ NSInteger greatDived = ([self greatCommonDivide:[self numerator] andSecond:[self denominator]]); NSInteger newDenominator = [self denominator]/greatDived; NSInteger newNumerator = [self numerator]/greatDived; [self setNumerator:newNumerator]; [self setDenominator:newDenominator]; NSLog(@"Reduce = %ld/%ld",newNumerator,newDenominator);}- (void)printFraction{ NSLog(@"Result = %ld/%ld",[self numerator],[self denominator]);}- (NSInteger)greatCommonDivide:(NSInteger)firstNumber andSecond:(NSInteger)secondNumber{ NSInteger temp; if(firstNumber<secondNumber) { //交换两个数,使大数放在a上 temp=firstNumber; firstNumber=secondNumber; secondNumber=temp; } while(secondNumber!=0) { //利用辗除法,直到b为0为止 temp=firstNumber%secondNumber; firstNumber=secondNumber; secondNumber=temp; } return firstNumber;}@end//========================================//// main.m// IOS150609_OC_Exercise//// Created by Peng Junlong on 15/6/9.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import <Foundation/Foundation.h>#import "PersonCard.h"#import "Ex6_Dog.h"#import "BankAccount.h"#import "Fraction.h"int main(int argc, const char * argv[]) { @autoreleasepool {// PersonCard *xiaoming = [[PersonCard alloc] initWithLeft:'A' withRight:'K'];// NSLog(@"Left = %c ,Right = %c",[xiaoming left],[xiaoming right]);// // [xiaoming exchange];// NSLog(@"Left = %c ,Right = %c",[xiaoming left],[xiaoming right]);// // Ex6_Dog *dog = [[Ex6_Dog alloc] init];// [dog setAge:3 andWeight:30 andHeight:1];// [dog show];// BankAccount *account = [[BankAccount alloc] init];// [account setAccount:@"123455678890"];// [account setPassword:@"123456"];// NSLog(@"Account = %@, Password = %@",[account account],[account password]);// [account setMoney:1000.5];// [account setYear:2015];// NSLog(@"Money = %.2f Year = %d",[account money],[account year]);// [account saveMoney:999.5];// NSLog(@"Money = %.2f Year = %d",[account money],[account year]);// // [account getMoney:100.0];// NSLog(@"Money = %.2f Year = %d",[account money],[account year]); Fraction *firstFracion = [[Fraction alloc] initWithNumerator:3 andWithDenominator:4]; Fraction *secondFracion = [[Fraction alloc] initWithNumerator:5 andWithDenominator:6];// [firstFracion addFraction:secondFracion];// [firstFracion subFraction:secondFracion];// [firstFracion multiplyFraction:secondFracion]; [firstFracion divideFraction:secondFracion]; [firstFracion reduceFraction]; [firstFracion printFraction]; } return 0;}
0 0
- 20150609类和对象_练习
- 面向对象_员工类案例练习
- 类和对象练习
- 面向对象_加减乘除练习
- 类和对象部分练习
- 类和对象的练习
- 笔试_类和对象
- 面向对象_抽象类练习猫狗案例
- 面向对象_抽象类练习老师案例
- 面向对象_抽象类练习员工案例
- 面向对象_抽象类练习学员案例
- C++笔记_类和对象_类的定义_类和对象
- 常用类_练习
- 面向对象_长方形案例练习
- 【Java类和对象】奥特曼打怪兽练习
- 类和对象_定义类2
- 基础_对象、类和结构概述
- 黑马程序员_.NET类和对象
- C#基础-----面向对象
- xfire
- 九度OJ-题目1283:第一个只出现一次的字符
- Android调用另一个程序的方法
- Thunderhead Engineering PyroSim 2015.2.0604 Win64 1CD火灾消防动态模拟
- 20150609类和对象_练习
- A1、A2、A3、A4纸都是多大尺寸
- Universal Fighting Game Guide: Understanding Combo Systems Part 1 – The Elements
- 初窥Linux 之 我最常用的20条命令
- 凯云水利水电工程造价管理系统 技术解释(十二) 中间单价(三)
- Apache学习路线
- Linux系统下Qt环境搭建(Ubuntu10.04)
- (cLion、RubyMine、PyCharm、WebStorm、PhpStorm、Appcode、Clion、Idea) 万能破解,获取自己的注册码
- clCreateCommandQueue': was declared deprecated