// cc 文件名.m -framework Foundation   编译链接

#import <Foundation/Foundation.h>

//枚举性别
typedef enum{
SexMen,
SexWoman,
SexUnknow
} Sex; //枚举毛色
typedef enum{
FurColorBlack,
FurColorRed,
FurColorGreen
} FurColor; //结构体日期
typedef struct{
int year;
int month;
int day;
} Date; //创建狗类
@interface Dog : NSObject
{
@public
double weigth; //体重
FurColor fcolor; //毛色
}
- (void)run;
- (void)eat;
@end //实现狗类方法
@implementation Dog
- (void)run
{
weigth -= ;
NSLog(@"狗开始跑了,体重减1,现在的体重是:%.2f",weigth);
}
- (void)eat
{
weigth += ;
NSLog(@"狗开始吃了,体重加1,现在的体重是:%.2f",weigth);
}
@end //创建学生类
@interface Student : NSObject
{
@public
char *name; //姓名
Sex sex; //性别
int age; //年龄
double weigth; //体重
Date birthday; //生日
Dog *dog;
}
- (void)liuDog;
- (void)weiDog;
- (void)print;
@end //实现学生方法
@implementation Student
- (void)print
{
NSLog(@"姓名:%s,性别:%d,年龄:%d岁,体重:%.2f公斤,出生日期:%d-%d-%d,狗的体重:%.2f,狗的毛色:%d",name,sex,age,weigth,birthday.year,birthday.month,birthday.day,dog->weigth,dog->fcolor);
} -(void)liuDog
{
[dog run];
}
- (void)weiDog
{
[dog eat];
}
@end int main()
{
Dog *zsDog = [Dog new];
zsDog->weigth = ;
zsDog->fcolor = FurColorBlack; Student *zs =[Student new];
zs->name = "jack"; //??中文赋值时无输出??
zs->sex = SexMen;
zs->age = ;
zs->weigth = 75.3;
Date d = {,,};
zs->birthday = d;
zs->dog =zsDog;
[zs print];
[zs liuDog];
[zs weiDog];
return ;
}
#import <Foundation/Foundation.h>

@interface Calc : NSObject
{ }
- (int)sumWithNum1:(int)num1 andNum2:(int)num2;
- (int)pingFangWithNum:(int)num;
@end @implementation Calc - (int)sumWithNum1:(int)num1 andNum2:(int)num2;
{
return num1+num2;
} -(int)pingFangWithNum:(int)num
{
return num * num;
}
@end int main()
{
Calc *c= [Calc new];
int sum = [c sumWithNum1: andNum2:];
int pf =[c pingFangWithNum:];
NSLog(@"sum=%d,平方:%d",sum,pf);
return ;
}

OC语言-01类和对象的更多相关文章

  1. OC 01 类和对象

    一.  定义OC的类和创建OC的对象 接下来就在OC中模拟现实生活中的情况,创建一辆车出来.首先要有一个车子类,然后再利用车子类创建车子对象 要描述OC中的类稍微麻烦一点,分2大步骤:类的声明.类的实 ...

  2. OC第一节 —— 类和对象

    一.类和对象的概念 1.1类 自己的定义: 具有相同或相似性质对象的抽象. 1.2 对象 自己的定义: 对象是人们要进行研究的任何物体,从最简单的整数到复杂的飞机 等均可以看做是对象. 举例说明: 类 ...

  3. OC学习5——类和对象

    1.OC是在C语言基础上进行扩展得到的一门面向对象的程序设计语言,它也提供了定义类.成员变量和方法的基本功能.类可以被认为是一种自定义的数据类型,使用它可以定义变量,所有使用类定义的变量都是指针类型的 ...

  4. iOS开发-OC语言 (二)类的设计

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0. ...

  5. OC开发系列-类与对象

    面向对象 面向对象思想是一种解决问题的思想, 不在是面向过程的去思考问题怎样解决.面向对象解决问题时首先要考虑需要找几个对象能解决这个问题. 常见的概念: * Object Oriented 面向对象 ...

  6. Java公开课-01.类和对象

    一,类和对象的含义 1.类:类是具有相同属性(静态特征)和行为(功能 )的一系列事物的集合. eg:以下俩者是不是类 1)汽车  √ 2)小胖桌子上那个红色的杯子  × 2.对象:被精确限定到一个特殊 ...

  7. [Objective-C语言教程]类和对象(24)

    Objective-C编程语言的主要目的是为C编程语言添加面向对象,类是Objective-C的核心特性,支持面向对象编程,通常称为用户定义类型. 类用于指定对象的形式,它将数据表示和方法组合在一起, ...

  8. Java知识系统回顾整理01基础02面向对象01类和对象

    一.面向对象实例--设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一 ...

  9. ios开发之OC基础-类和对象

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

随机推荐

  1. 实践javascript美术馆的小案例,学习到的东西还是蛮多的,包括javascript编程中的预留退路、分离javascript、以及实现向后兼容等

    javascript美术馆(改进2) 一.javascript编程过程中的好习惯 1.实现预留退路 js被禁掉,图片也可以显示出来,href属性带有图片路径 <script src=" ...

  2. Android开发优化之——对Bitmap的内存优化

    http://blog.csdn.net/arui319/article/details/7953690 在Android应用里,最耗费内存的就是图片资源.而且在Android系统中,读取位图Bitm ...

  3. ExtJS笔记--applyTo和renderTo的差别

    extjs中常常会用到renderTo或applyTo配置选项.这里,我就比較下两者的差别与使用方法.1.renderTo与render方法相应2.applyTo与applyToMarkup方法相应 ...

  4. linux 提高进程优先级nice+ 进程调度CFS

    http://www.cnblogs.com/wang_yb/archive/2012/09/04/2670564.htmlhttp://liwei.life/2016/04/07/linux%E7% ...

  5. linux shell wc 命令

    1. 语法与选项 Short Option Long Option Option Description -c –bytes print the byte counts -m –chars print ...

  6. Android开发之UI更新交互机制与实例解析

    android开发过程中,经常需要更新UI的状态和文案等.这是就需要对UI进行 更新.在android中更新UI一般有三种方法,handler机制.RunOnUiThread方法以及AsyncTask ...

  7. Linux下搭建Oracle11g RAC(3)----创建用户及配置相关文件

    配置11gR2 RAC需要安装Oracle Grid Infrastructure软件.Oracle数据库软件,其中Grid软件等同于Oracle 10g的Clusterware集群件.Oracle建 ...

  8. ubuntu 12.04 编译安装 nginx

    下载源码包 nginx 地址:http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到缺少pcre等问题,这时候只要到再安装两个包就ok sudo ...

  9. svn项目冲突时显示无法加载项目的解决方法

    1.无法加载的项目会显示成灰色.这是右键点击编辑  打开后去掉乱字符. 2.完成后会有红色的叹号 这是右键 找到解决冲突即可 然后提交

  10. Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)

    ---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...