#import <Foundation/Foundation.h>

 typedef enum {GenderMan, GenderFemale} Gender;

 typedef enum {ColorRed, ColorBlue, ColorGreen} Color;

 typedef struct
{
int year;
int month;
int day;
} Date; @interface Dog : NSObject
{
@public
float weight;
Color color;
}
- (void) eat;
- (void) run; @end @interface Student : NSObject
{
@public
char *name;
Gender gender;
Date birthday;
double weight;
Color favariteColor;
Dog *dog;
} - (void) eat;
- (void) run;
- (void) walkDog;
- (void) feedDog;
- (void) print; @end @implementation Student
- (void) eat
{
weight++;
NSLog(@"吃吃吃,体重增加了1KG, 现在体重是%f", weight);
} - (void) run
{
weight--;
NSLog(@"跑跑跑,体重减去了1KG,现在体重是%f", weight);
} - (void) print
{
NSLog(@"这个学生的资料-》姓名:%s, 性别:%d, 生日:%d-%d-%d, 体重:%f, 喜爱的颜色:%d", name, gender, birthday.year, birthday.month, birthday.day, weight, favariteColor);
} - (void) walkDog
{
[dog run];
} - (void) feedDog
{
[dog eat];
}
@end @implementation Dog
- (void) eat
{
NSLog(@"喂狗啦!!!");
weight++;
NSLog(@"狗狗吃吃吃,体重增加了1KG, 现在体重是%f", weight);
} - (void) run
{
NSLog(@"遛狗啦!!!!");
weight--;
NSLog(@"狗狗跑跑跑,体重减去了1KG,现在体重是%f", weight);
}
@end int main()
{
Student *stu = [Student new];
stu->name = "Jack";
stu->gender = GenderMan;
Date d = {, , };
stu->birthday = d;
stu->weight = ;
stu->favariteColor = ColorRed; Dog *dog = [Dog new];
stu->dog = dog; [stu eat];
[stu feedDog];
[stu print];
[stu walkDog];
[stu feedDog]; return ;
}

[Objective-c 基础 - 1.2] OC的基本类的更多相关文章

  1. iOS9基础知识(OC)笔记

    1月16日 Objective  C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve  Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT  ...

  2. Objective—C基础学习总结

        1. (1)面向过程:一种以事件为中心的编程思想         (2)面向对象:一种以对象为中心的编程思想        2.get和set是用来访问和修改对象里的属性值           ...

  3. IOS基础之 (一) OC基础语法

    一 OC语法 1.关键字 基本上所有关键字都是以@开头,比如: @interface , @implementation, @end, @public, @protected, @private 2. ...

  4. IOS基础之 (四) OC对象

    一 建立一个OC的类 完整的写一个函数:需要函数的声明和定义. 完整的写一个类:需要类的声明和实现. 1.类的声明 声明对象的属性和行为 #import <Foundation/Foundati ...

  5. Objective C 基础

    1,字符串加@: 不加@的是C语言字符串. 加@的代表的是OC的NSString http://www.jikexueyuan.com/course/71_2.html 2,setValuesForK ...

  6. [Objective-c 基础 - 2.2] OC弱语法、类方法

    A.OC弱语法 1.在运行的时候才会检查方法的声明和实现 2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可 3.类的声明必须存在,否则会出现运行时错误   B.类方法 1.是类名调用的方 ...

  7. [Objective-c 基础 - 1.3] OC带返回值的类方法

    /* 计算器类 1>返回π 2>计算两个整数的平方 3>计算两个整数的和 */ #import <Foundation/Foundation.h> @interface ...

  8. [Objective-c 基础 - 1.1] OC类

    Obj-C中没有包得概念,使用前缀进行区分 自带类用NS开头命名 关键字使用@开头   A. 第一个OC程序 1. 导入Foundation框架的主头文件 #import <Foundation ...

  9. 数电基础之《OC门》

    OC门,又称集电极开路门,Open Collector.   为什么引入OC门?实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去 ...

随机推荐

  1. Google-Gson使用

    转自:http://my.oschina.net/itblog/blog/204120 这几天,因为项目的需要,接触了Google的Gson库,发现这个东西很好用,遂记下简单的笔记,供以后参考.至于G ...

  2. 李洪强iOS开发之宏定义方法来初始化一个单例对象

    单例的使用: .m 为了方便实用,只要将以下代码定义在header文件或者.pch文件即可: // .h #define singleton_interface(class) + (instancet ...

  3. cocos2dx Sprite setBlendFunc 使用颜色混合:加算,减算

    说明: 图片的混色是游戏的特效的特破口,应用的好,可以大量减少图片的使用量,有专门的介绍资料... setBlendFunc  相关参数,有多种组合方式,需要经验的积累 http://blog.csd ...

  4. 版本管理工具介绍—Git篇

    前篇 如题,提起版本管理工具相信做C#开发 还是对Git比较陌生  我们可能更熟悉vss.svn 记录此文的目的 更是为以后的前段学习做基础  现在的技术比如nodeJs  angularJs ==都 ...

  5. 如何修改linux系统主机名称

    完成目标: 修改centos 7系统的主机名称 使用命令: hostnamectl [root@ossec-server ~]# hostnamectl --help hostnamectl [OPT ...

  6. Sqlmap基础(二)

    sqlmap.py -r req1.txt --dbms Oracle --risk

  7. Android 自定义android控件EditText边框背景

    在我们进行Android应用界面设计和时候,为了界面风格的统一,我们需要对一些控件进行自定义.比如我们的应用采用的蓝色风格,但是 android的EditText控制获得焦点后显示的却是黄色的边框背景 ...

  8. CAS SiteMinder (单点登录)

    http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/

  9. 超实用的PHP代码片段

    一.查看邮件是否已被阅读 当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读.这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间. 1 2 3 4 5 6 7 8 9 10 1 ...

  10. FPGA中latency与delay概念的区别

    2013-06-17 21:09:26 最近学习流水线以及状态机,总遇到注入加入寄存器可以分割组合逻辑,从而提高电路的运行频率的说法:还有流水线可以提高速度的说法,刚开始很是疑惑,觉得流水线的方法,输 ...