1. // cc 文件名.m -framework Foundation 编译链接
  2.  
  3. #import <Foundation/Foundation.h>
  4.  
  5. //枚举性别
  6. typedef enum{
  7. SexMen,
  8. SexWoman,
  9. SexUnknow
  10. } Sex;
  11.  
  12. //枚举毛色
  13. typedef enum{
  14. FurColorBlack,
  15. FurColorRed,
  16. FurColorGreen
  17. } FurColor;
  18.  
  19. //结构体日期
  20. typedef struct{
  21. int year;
  22. int month;
  23. int day;
  24. } Date;
  25.  
  26. //创建狗类
  27. @interface Dog : NSObject
  28. {
  29. @public
  30. double weigth; //体重
  31. FurColor fcolor; //毛色
  32. }
  33. - (void)run;
  34. - (void)eat;
  35. @end
  36.  
  37. //实现狗类方法
  38. @implementation Dog
  39. - (void)run
  40. {
  41. weigth -= ;
  42. NSLog(@"狗开始跑了,体重减1,现在的体重是:%.2f",weigth);
  43. }
  44. - (void)eat
  45. {
  46. weigth += ;
  47. NSLog(@"狗开始吃了,体重加1,现在的体重是:%.2f",weigth);
  48. }
  49. @end
  50.  
  51. //创建学生类
  52. @interface Student : NSObject
  53. {
  54. @public
  55. char *name; //姓名
  56. Sex sex; //性别
  57. int age; //年龄
  58. double weigth; //体重
  59. Date birthday; //生日
  60. Dog *dog;
  61. }
  62. - (void)liuDog;
  63. - (void)weiDog;
  64. - (void)print;
  65. @end
  66.  
  67. //实现学生方法
  68. @implementation Student
  69. - (void)print
  70. {
  71. NSLog(@"姓名:%s,性别:%d,年龄:%d岁,体重:%.2f公斤,出生日期:%d-%d-%d,狗的体重:%.2f,狗的毛色:%d",name,sex,age,weigth,birthday.year,birthday.month,birthday.day,dog->weigth,dog->fcolor);
  72. }
  73.  
  74. -(void)liuDog
  75. {
  76. [dog run];
  77. }
  78. - (void)weiDog
  79. {
  80. [dog eat];
  81. }
  82. @end
  83.  
  84. int main()
  85. {
  86. Dog *zsDog = [Dog new];
  87. zsDog->weigth = ;
  88. zsDog->fcolor = FurColorBlack;
  89.  
  90. Student *zs =[Student new];
  91. zs->name = "jack"; //??中文赋值时无输出??
  92. zs->sex = SexMen;
  93. zs->age = ;
  94. zs->weigth = 75.3;
  95. Date d = {,,};
  96. zs->birthday = d;
  97. zs->dog =zsDog;
  98. [zs print];
  99. [zs liuDog];
  100. [zs weiDog];
  101. return ;
  102. }
  1. #import <Foundation/Foundation.h>
  2.  
  3. @interface Calc : NSObject
  4. {
  5.  
  6. }
  7. - (int)sumWithNum1:(int)num1 andNum2:(int)num2;
  8. - (int)pingFangWithNum:(int)num;
  9. @end
  10.  
  11. @implementation Calc
  12.  
  13. - (int)sumWithNum1:(int)num1 andNum2:(int)num2;
  14. {
  15. return num1+num2;
  16. }
  17.  
  18. -(int)pingFangWithNum:(int)num
  19. {
  20. return num * num;
  21. }
  22. @end
  23.  
  24. int main()
  25. {
  26. Calc *c= [Calc new];
  27. int sum = [c sumWithNum1: andNum2:];
  28. int pf =[c pingFangWithNum:];
  29. NSLog(@"sum=%d,平方:%d",sum,pf);
  30. return ;
  31. }

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实现拖拽预览,AJAX小文件上传

    本地上传,提前预览(图片,视频) 1.html中div标签预览显示,button标签触发上传事件. <div  id="drop_area" style="bord ...

  2. Java和Tomcat类加载机制

    转自:http://blog.csdn.net/codolio/article/details/5027423 加载类是运行程序的基础,了解Java和Tomcat的类加载机制对更有效地开发.调试Web ...

  3. JMeter的基本介绍和入门

    1. 介绍 JMeter是Apache组织的开放源代码项目,能做功能测试和性能测试.它能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC),还能以多种形式展 ...

  4. android实习程序7——通话记录显示

    下载SQLiteSpy.exe 打开模拟器5554 打开perspective,选择DDMS 打开Devices,确认存在emulator-5554 打开file Explorer 打开data文件夹 ...

  5. Hive sql 语法解读

    一. 创建表 在官方的wiki里,example是这种: Sql代码   CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name d ...

  6. myeclipes使用过程中的错误解决方案

    1.‘Building workspace’ has encountered a problem. Errors occurred during the build. 解决方案:这样的错误,主要是由于 ...

  7. Unity Panel open & close

    Making a Popup and Closable Panel in Unity 5 script: public GameObject thePanel; public open() { the ...

  8. Elasticsearch .Net Client NEST使用说明 2.x

    Elasticsearch .net client NEST使用说明 2.x Elasticsearch.Net与NEST是Elasticsearch为C#提供的一套客户端驱动,方便C#调用Elast ...

  9. Java基础知识强化之IO流笔记34:OutputStreamWriter(Writer字符流的子类)5种write数据方式

    1. OutputStreamWriter (转换流) OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节. 同时OutputS ...

  10. Android(java)学习笔记185:xml文件生成

    1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...