ios开发之电子优惠券的设计与实现

//
//  main.m
//  电子优惠券
//

#import <Foundation/Foundation.h>
#import "Discount.h"
#import "Food.h"

int main(int argc, const char * argv[])
{
    Discount * dis = [[Discount alloc]init];

    [dis showInformation:20 andDiscountTime:@"本优惠券每日上午10:30之后使用" andContentInformation:@"本优惠券仅限在中国大陆地区售卖优惠券产品的麦当劳餐厅使用,具体以本店内公示为准,有效期2013年12月4日-2013年12月30日;涂改或损坏无效;食品以实物为准,图片仅供参考;本优惠券不合适用于送餐服务;除食物外,其他物品(包括容器)不在售卖范围;本优惠券不能与其他优惠活动同时使用"];
    @autoreleasepool {

        // insert code here...
        NSLog(@"Hello, World!");

    }
    return 0;
}
//
//  Discount.h
//  电子优惠券
//

#import <Foundation/Foundation.h>

@interface Discount : NSObject
{
    /**用来记录打折价格*/
    int _price;

    /**用来记录打折使用的时间*/
    NSString * _discountTime;

    /**最终解释权信息*/
    NSString * _contentInformation;
}

@property int price;
@property NSString * discountTime;
@property NSString * contentInformation;

-(void)showInformation:(int)price andDiscountTime:(NSString *)discountTime andContentInformation:(NSString *)contentInformation;

@end
//
//  Discount.m
//  电子优惠券
//

#import "Discount.h"

@implementation Discount
@synthesize  price = _price;
@synthesize  discountTime = _discountTime;
@synthesize  contentInformation = _contentInformation;

-(void)showInformation:(int)price andDiscountTime:(NSString *)discountTime andContentInformation:(NSString *)contentInformation
{
    _price = price;

    _discountTime = discountTime;

    _contentInformation = contentInformation;

    NSLog(@"价格:%d 打折时间:%@ 详细介绍:%@",_price,_discountTime,_contentInformation);
}

-(NSString *)description
{
    return [NSString stringWithFormat:@"价格:%d 打折时间:%@ 详细信息%@",_price,_discountTime,_contentInformation];
}
@end
//
//  Food.h
//  电子优惠券
//

#import <Foundation/Foundation.h>

@interface Food : NSObject
{
    /**用来记录菜品名称*/
    NSString * _foodName;

    /**组成材料*/
    NSString * _material;

    /**营养信息*/
    NSString * _nutrition;

    /**用来记录食品种类*/
    NSString * _kindOfFood;
}
@property NSString * foodName;
@property NSString * material;
@property NSString * nutrition;
@property NSString * kindOfFood;

-(void)showInformation:(NSString*)foodName andShowMaterial:(NSString *)material andShowNurition:(NSString *)nutrition;
@end
//
//  Food.m
//  电子优惠券
//

#import "Food.h"

@implementation Food
@synthesize foodName = _foodName;
@synthesize material = _material;
@synthesize nutrition = _nutrition;
@synthesize kindOfFood = _kindOfFood;

-(void)showInformation:(NSString*)foodName andShowMaterial:(NSString *)material andShowNurition:(NSString *)nutrition;
{
    _foodName = foodName;
    _material = material;
    _nutrition = nutrition;
    NSLog(@"%@ %@ %@",_foodName,_material,_nutrition);
}
-(NSString *)description
{
    return [NSString stringWithFormat:@"食品名称:%@食材:%@ 营养物质:%@",_foodName,_material,_nutrition];
}
@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 18:02:32

ios开发之电子优惠券的设计与实现的相关文章

IOS开发之电子菜单的设计与实现(继承、封装、多态)

// // main.m // 电子菜单 // #import <Foundation/Foundation.h> #import "Food.h" #import "CoolFood.h" #import "HotFood.h" #import "MainFood.h" #import "Drinks.h" #import "BillBoard.h" int main(in

100个iOS开发/设计面试题汇总

常见问题 你昨天/这周学习了什么? 你为什么热衷于软件开发? 你对哪一种控制系统比较熟悉? 是否参与过GitHub项目? 是否参与过GitHub或其他同类型网站的iOS开源项目? 请描述一下你的iOS应用开发流程. 是否熟知CocoaPods?它是什么?如何运行的? 请概括一下你对软件授权的理解,及其对软件开发的影响. 请概括一下你在构建iOS应用时的测试过程.iOS应用如何实现对其他语言.日期格式以及货币单位的支持? 请描述一下Instruments及其作用. 关于iOS技术 请解释一下Han

iOS开发&gt;学无止境 - 浅谈MVVM的架构设计与团队协作

李刚按:本文是青玉伏案写的一篇文章.相信大家对MVC耳熟能详,MVVM可能听说的相对少一些,这一篇文章将会想你阐述MVVM设计,还有团队协作的经验分享.如果你也觉得不错,就分享一下吧! demo:https://github.com/lizelu/MVVM 今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由 于本人项目经验有限,关于架构设

iOS开发之浅谈MVVM的架构设计与团队协作

今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了. 说道架构设计和团队

iOS开发/设计面试题汇总

无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,本文从编程.设计.App Store等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总.一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备. 常见问题 你昨天/这周学习了什么?  回答:· 你为什么热衷于软件开发? 你对哪一种控制系统比较熟悉? 是否参与过GitHub项目? 是否参与过GitHub或其他同类型网站的i

iOS开发项目篇—41cell的frame设计

iOS开发项目篇—41cell的frame设计 一.简单说明 1.分层设计 在进行设计的时候,建议先分析整个cell的结构,确定了cell由哪些模块构成之后,再进一步确定每个模块中包含的子控件. 在这个微博的cell中,把这个cell分成两个大的模块.分解结构如下: 1.微博完整内容模块View (1)原创微博view 1)头像imageView 2)自己的昵称label 3)发布的时间label 4)微博来源label 5)微博的正文 (2)转发微博 1)原作者的昵称label 2)转发的微博

iOS开发UI篇—自定义瀑布流控件(接口设计)

iOS开发UI篇—自定义瀑布流控件(接口设计) 一.简单说明 1.关于瀑布流 电商应用要展示商品信息通常是通过瀑布流的方式,因为每个商品的展示图片,长度和商都都不太一样. 如果不用瀑布流的话,展示这样的格子数据,还有一种办法是使用九宫格. 但利用九宫格有一个缺点,那就是每个格子的宽高是一样的,如果一定要使用九宫格来展示,那么展示的商品图片可能会变形. 为了保证商品图片能够按照原来的宽高比进行展示,一般采用的是瀑布流的方式. 2.瀑布流的特点: 由很多的格子组成,但是每个格子的宽度和高速都是不确定

iOS开发之——单例的几种设计方式

单例是ios开发中常用的一种设计模式,通常用来控制器之间传值.方便.高效,全局通用. 单例模式的设计分为ARC和MRC. ARC: 方式一 1.创建一个继承自NSObject的类. 2.在这个类的.h文件中声明类方法: + (instancetype)sharedInstance; 2.在这个类的.m文件中实现以下方法: static id instance; + (instancetype)sharedInstance { static dispatch_once_t onceToken; d

iOS开发设计策略模式

iOS应用能加密?全球都没有的技术,你造吗?作为开发iOS应用的,是不是感到自己out啦?快来看看什么是iOS应用加密:http://www.ijiami.cn/newsInfo?id=541&v=2 在iOS开发中,使用官方框架,官方sdk中,可以接触到不少设计模式,可能平时没有注意,实际上已经用到了不少设计模式 下面举一个例子: 策略模式:至于什么是策略模式,请自己百度吧,我也说不清楚,但是知道怎么用,下面结合代码详细说明 比方我有一个NSMutableArray,里面每个元素都是一个NSD