类的合理设计

原创 2015年11月19日 22:55:10
#import <Foundation/Foundation.h>


typedef enum {//枚举
   SexMan,
    SexWoman
}Sex;


typedef struct {
    int year;
    int month;
    int day;
}Data;

typedef enum {
    ColorBlack,
    ColorRed,
    ColorGreen
}Color;

@interface Dog : NSObject
{
    @public
    double weight;  //体重
    Color curColor;  //毛色
}

- (void)run;
- (void)eat;
@end

@implementation Dog
- (void)eat
{
    //每吃一次,体重加1
    weight += 1;
    NSLog(@"狗吃完这次后的体重是%.2f",weight);
}

- (void)run
{
    weight -= 1;
    NSLog(@"狗跑完这次后的体重是%.2f",weight);
}
@end
/*
学生
成员变量:性别、生日、体重、最喜欢的颜色、狗(体重、毛色、吃、跑)
方法:吃、跑步、遛狗(让狗跑)、喂狗(让狗吃)、
*/
@interface Student : NSObject
{

    @public
    Sex sex;  //性别
    Data birthday;  //生日
    double weight;  //体重(kg)
    Color favColor;  //最喜欢的颜色
    char *name;
    
    //重点
    Dog *dog;//任何OC对象肯定是用指针来指的
    
}

- (void)eat;
- (void)run;
- (void)print;

- (void)liuDog;
- (void)weiDog;
@end

@implementation Student

- (void)liuDog
{
    //让狗跑起来(调用狗的run方法)
    [dog run];
}

- (void)weiDog
{
    //让狗吃东西(调用狗的eat方法)
    [dog eat];
}

- (void)print
{
    NSLog(@"性别=%d,喜欢的颜色=%d,姓名=%s,生日=%d-%d-%d",sex,favColor,name,birthday.year,birthday.month,birthday.day);
}

- (void)eat
{
    //每吃一次,体重加1
    weight += 1;
    NSLog(@"学生吃完这次后的体重是%.2f",weight);
}

- (void)run
{
    weight -= 1;
    NSLog(@"学生跑完这次后的体重是%.2f",weight);
}
@end

int main()
{
    Student *s = [Student new];
    Dog *sdog = [Dog new];
    sdog->curColor = ColorGreen;
    sdog->weight = 20;
    s->dog = sdog;//对象中又有对象
    
    [s liuDog];
    [s weiDog];
    
    
    
    s->weight = 50;
    
    //性别
    s->sex = SexMan;
    
    //生日
    //s->birthday = {2011, 9, 10};错误
    
    Data d ={1993 , 9 , 9};
    s->birthday = d;
    
    /*
    s->birthday.year = 1993;
    s->birthday.month = 9;
    s->birthday.day = 9;
    */
    
    //姓名
    s->name = "DaShu";
    
    //喜欢的颜色
    s->favColor = ColorBlack;
    [s eat];
    [s eat];
    
    [s run];
    [s run];
    
    [s print];
    
    return 0;
}

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

[数据库设计]如何合理和有效的进行数据库设计

前言通常情况下,可以从两个方面来判断数据库设计的是否规范: 1)一是看看是否拥有大量的窄表 窄表往往对于OLTP比较合适,符合范式设计原则 2)宽表的数量是否足够的少。 所...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2017年01月08日 21:31
  • 2111

关于类的合理设计

关于类的设计,初学者有很多东西需要注意的,除了代码的编写之外,还有很多类的设计方面的东西需要顾及,所以关于这一块,就拿一个小程序来体会,这样会更加生动清晰。 我们要写一个学生类, 这个类的成员(属...
  • aa641462576
  • aa641462576
  • 2014年10月23日 10:30
  • 234

类的合理设计

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   类的合理的设计 #imp...
  • qq_26765381
  • qq_26765381
  • 2015年04月05日 21:24
  • 162

分布式开放消息系统(RocketMQ)的原理与实践

一年前为了一次内部分享而写的这篇文章,没想到会有这么多人阅读,抽空更新一版,对文中一些晦涩的语句做了修正,删除了一些口水话和附录内容,尽量给大家更好的阅读体验 (第二版更新于2017年春节)。 分布...
  • varyall
  • varyall
  • 2018年01月04日 11:47
  • 167

iOS之03-类的合理设计

以下代码为了充分学习理解 类与对象 类与对象的定义    类就是将事物的共有属性和方法抽离出来形成的;类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。  ...
  • qq_22551661
  • qq_22551661
  • 2016年05月11日 16:40
  • 105

黑马程序员-类的合理设计

typedy enum { Sexman, Sexwoman/*不直接写woman而带上枚举名Sex,给人一目了然,知道是哪个枚举里的常量*/ } Sex;//枚举大括号后面,变量之间有个空格...
  • cao4744
  • cao4744
  • 2014年06月30日 16:14
  • 101

数据库的完整性约束

完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。 1 主键当某一列添加了主键约束后,那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学...
  • qq_25827845
  • qq_25827845
  • 2017年01月25日 18:14
  • 717

如何设计数据库

为什么需要设计数据库        这里我们思考两个问题: 修建茅屋需要设计吗?修建大厦需要设计吗? 结论是:当数据库比较复杂(如数据量大,表较多,业务关系复杂)时,我们需要先设计数据库; ...
  • wzyzzu
  • wzyzzu
  • 2016年04月08日 16:45
  • 841

如何设计一个手机信息页面?

首先呢,这次操作是在Android Studio平台下进行设计的,效果图如下:
  • lxl_liangxinlong
  • lxl_liangxinlong
  • 2017年03月14日 11:00
  • 117

数据库表设计 基本思路

好的数据结构会影响速度。好的数据库表设计会影响数据库操作效率。特别是数据多的时候,如果表的结构不好的话操作的时候条件(where后的内容)会变的非常复杂。 SQL是关系数据库中用到的一种语言。所以,...
  • adparking
  • adparking
  • 2014年01月27日 15:13
  • 2531
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类的合理设计
举报原因:
原因补充:

(最多只允许输入30个字)