[Objective-c 基础 - 1.2] OC的基本类
#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的基本类的更多相关文章
- iOS9基础知识(OC)笔记
1月16日 Objective C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT ...
- Objective—C基础学习总结
1. (1)面向过程:一种以事件为中心的编程思想 (2)面向对象:一种以对象为中心的编程思想 2.get和set是用来访问和修改对象里的属性值 ...
- IOS基础之 (一) OC基础语法
一 OC语法 1.关键字 基本上所有关键字都是以@开头,比如: @interface , @implementation, @end, @public, @protected, @private 2. ...
- IOS基础之 (四) OC对象
一 建立一个OC的类 完整的写一个函数:需要函数的声明和定义. 完整的写一个类:需要类的声明和实现. 1.类的声明 声明对象的属性和行为 #import <Foundation/Foundati ...
- Objective C 基础
1,字符串加@: 不加@的是C语言字符串. 加@的代表的是OC的NSString http://www.jikexueyuan.com/course/71_2.html 2,setValuesForK ...
- [Objective-c 基础 - 2.2] OC弱语法、类方法
A.OC弱语法 1.在运行的时候才会检查方法的声明和实现 2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可 3.类的声明必须存在,否则会出现运行时错误 B.类方法 1.是类名调用的方 ...
- [Objective-c 基础 - 1.3] OC带返回值的类方法
/* 计算器类 1>返回π 2>计算两个整数的平方 3>计算两个整数的和 */ #import <Foundation/Foundation.h> @interface ...
- [Objective-c 基础 - 1.1] OC类
Obj-C中没有包得概念,使用前缀进行区分 自带类用NS开头命名 关键字使用@开头 A. 第一个OC程序 1. 导入Foundation框架的主头文件 #import <Foundation ...
- 数电基础之《OC门》
OC门,又称集电极开路门,Open Collector. 为什么引入OC门?实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去 ...
随机推荐
- WCF之各种WCF引用方式
写在开头:本文内容来自 WCF全面解析中的一个经典例子,如果你已经看过了,那么可以忽略本文,本文旨在和大家分享不一样的WCF使用方法. 准备工作: 1.创建解决方案WCFService(当然名字可以任 ...
- (从终端看linux-2)浅析terminal创建时ptmx和pts关系
我们打开一个terminal,那么将会在devpts文件系统/dev/pts下创建一个对应的pts字符文件,该pts字符文件节点直接由/dev/ptmx节点的驱动函数ptmx_open()调用devp ...
- 2014年最火的 21个JavaScript 框架
下面,我们将会介绍 2014 年最火的 21 款JavaScript 框架,专为前端开发者准备的哦:)众所周知, JavaScript 框架是 JavaScript编程语言最棒的特性之一. JavaS ...
- xcopy 复制了0个文件
xcopy /Y "..\..\..\SolutionItems\zbmyuncore.db" "..\ZITaker" 复制zbmyuncore.db文件的时 ...
- 第二部分 overlay 架构初探
1 overlay可能支持的颜色格式/* possible overlay formats可能支持的颜色格式 */enum { OVERLAY_FORMAT_RGBA_8888 = HAL ...
- 结构体buf_chunk_t
/** Buffer pool chunk comprising buf_block_t */ typedef struct buf_chunk_struct buf_chunk_t; /** A c ...
- C语言中的malloc和free
最近在研究php自定义函数的实现,其中php自定义函数在传递参数时,是放到人为的一个栈中,这个跟写C程序时,参数入栈的这个栈还不一样,其中延伸到了 malloc 以及free 有人说在free(p)后 ...
- MySQL索引的查看创建和删除
1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有 ...
- ORACLE参数文件
一.oracle pfile/spfile区别 pfile 默认的名称为“init+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs,这是一个文本文件 ...
- 【转】COCOS2D-X之CCHttpRequest下载图片Demo
#include "pthread.h" #pragma comment(lib,"libcurl_imp.lib") #pragma comment(lib, ...