OC -- 带有enum和struct的类的简单设计

#import <Foundation/Foundation.h>

@interface Car : NSObject{

@public

int _wheels;

int _speed;

}

- (void)run;

@end

@implementation Car

- (void)run{

NSLog(@"%d个轮子, 速度为%d的车子跑起来了", _wheels, _speed);

}

@end

void test1(Car *newCar){

newCar->_wheels = 5;

}

void test2(Car *newCar);

int main(int argc, const char * argv[]) {

Car *c1 = [[Car alloc] init];

Car *c2 = [[Car alloc] init];

test1(c1);

test2(c2);

[c1 run];

[c2 run];

return 0;

}

void test2(Car *newCar){

newCar->_wheels = 4;

newCar->_speed = 300;

}

*/

/*

#import <Foundation/Foundation.h>

@interface Persons : NSObject{

@public

NSString *_name;

int _age;

}

- (void)print;

@end

@implementation Persons

- (void)print{

NSLog(@"name = %@, age = %d", _name, _age);

}

@end

void sett(Persons *p);

int main(int argc, const char * argv[]){

Persons *p = [[Persons alloc] init];

sett(p);

[p print];

return 0;

}

void sett(Persons *p){

p->_name = @"Jerry";

p->_age = 15;

}

*/

#import <Foundation/Foundation.h>

typedef enum{

SexMan,

SexWoman

} Sex;

typedef enum{

ColorBlue,

ColorWhite,

ColorBlack,

ColorGreen,

ColorRed,

ColorOrange

} Color;

typedef struct{

int year;

int month;

int day;

} Date;

@interface Person : NSObject

@property NSString *name;

@property int age;

@property Sex sex;

@property Color favColor;

@property Date birthday;

- (void)print;

@end

@implementation Person

- (void)print{

NSLog(@"name = %@, age = %d, sex = %d, FavColor = %d, birthday = %d-%d-%d", _name, _age, _sex, _favColor, _birthday.year, _birthday.month, _birthday.day);

}

@end

int main(int argc, const char * argv[]){

Person *p = [[Person alloc] init];

p.name = @"Jerry";

p.age = 10;

p.sex = SexMan;

p.favColor = ColorWhite;

Date d = {2015, 7, 21};

p.birthday = d;

[p print];

return 0;

}

时间: 2024-10-05 06:44:10

OC -- 带有enum和struct的类的简单设计的相关文章

Swift学习之enum、struct、class的异同详解

由于在开发过程中常常需要用到系统提供的基础类型之外的的类型,因此Swift开发中我们可以根据自己的需要构建属于自己的类型系统以便于更加灵活和方便的开发程序并将其称之为named types.Swift主要为我们提供了以下四种named types 分别是:enum.struct.class和protocol, 相信熟悉objective-c开发的同学们对于iOS中枚举.结构体和类的概念一点都不陌生.相比于前辈objective-c中的这三者,Swift将enum和struct变得更加灵活且强大,

OC学习总结之面向对象和类

OC学习总结之面向对象和类 Objective-c是c语言的母集合,它的原意就是在原始的c语言的主体上加入面向对象的特性.1.面向对象和面向过程  面向对象和面向过程是编程的两种思考方式.面向对象,简称OOP,它是以事物为中心,参与事件的事物是核心,完成事件只是事物的一个小任务.面向过程,简称OPP,它是以事件为中心,事件是核心,列出了完成事件的每一个步骤,一步一步完成.也就是面向对象侧重于从问题在寻找客体.客体的作用.客体间的关系即“谁”.“做什么”.“怎么做”,面向过程侧重于问题的分解即“事

视频iOS之03类的合理设计

以下代码为了充分学习理解类的合理设计 1 /* 2 学生 3 成员变量:性别.生日.体重.最喜欢的颜色.养的狗(体重.毛色.吃.跑) 4 方法:吃.跑步.遛狗.喂狗 5 6 */ 7 8 #import <Foundation/Foundation.h> 9 10 // 性别枚举 11 typedef enum {// 枚举类型常量一般是以枚举名开头(规范) 12 SexMan, //0 13 SexWoman //1 14 } Sex; 15 16 // 生日结构体 17 typedef s

iOS类的合理设计,面向对象思想

每天更新的东西可能有反复的内容.当时每一部分的知识点是不同的,须要大家认真阅读 这里介绍了iOS类的合理设计.面向对象思想 main.m #import <Foundation/Foundation.h> #import "Iphone.h" int main(int argc, const char * argv[]) { Iphone * phone = [Iphone new]; phone->_color = IphoneColorWhite; phone-&

经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能

说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后,给出自己的理解和解决方案,不一定是正确的,但这些方法的确可以解决问题. 如果有人遇到同样的问题,并且看到我的文章解决,那是我的荣幸. !!!!!!但特别需要说明的是,看的越多,不明白的越多,我的看法可能是完全错误的,这些方法只是暂时解决了我的问题, !!!!!!如果有人发现了我的错误,请私信或评论告

第十一周 项目四 类族的设计】

项目4 - 类族的设计] 按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积.体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试: (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试: (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类

java中Color类的简单总结

java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 public final static Color black = new Color(0,0,0); public final static Color bule = new Color(0,0,255); . . 有很多这样的常量,可供我们直接类名去调用而不需要去实例化. 3.Color中的构造函数 pu

ffmpeg学习4--ffmpeg类的简单封装,包含解码和定时录像功能

ffmpeg学习4--ffmpeg类的简单封装,包含解码和定时录像功能 参考网上的资料,简单封装了一下ffmpeg,这里记录一下,其它传感器编码及项目中用到的已经抽离,这里只包含解码和录像部分.这只是个玩具级别的测试.完整测试代码下载:代码下载 ffmpegDeCode.h #pragma once #include "stdafx.h" #include<iostream> using namespace std; extern char *VideoPath; exte

C++第11周(春)项目4 - 类族的设计

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目4 - 类族的设计]按下面的提示,由基类的设计和測试開始,逐渐地完毕各个类的设计,求出圆格柱体的表面积.体积并输出而且完毕要求的计算任务:    (1)先建立一个Point(点)类,包括数据成员x,y(坐标点),实现须要的成员函数,并设计main函数完毕測试:    (2)以Point为基类,派生出一个Circle(圆)类,添加数据成员r