[关闭]
@fiy-fish 2015-05-18T23:02:04.000000Z 字数 1207 阅读 1273

类和对象

Objective-c


  1. //
  2. // main.m
  3. // 类和对象
  4. //
  5. // Created by Aaron on 15/5/18.
  6. // Copyright (c) 2015年 Aaron. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. //objective-c 2.0
  10. //面向对象
  11. //C语言 面向过程
  12. //考虑得更多的是数学问题或者是计算机的思维
  13. //面向对象
  14. //更接近于人类的思维方式
  15. //对象
  16. //目标事物
  17. //面向对象的基本思想----封装
  18. //把数据密封到盒子里,保护起来
  19. //类
  20. //类就像一张图纸或者一个模具
  21. //是对对象的一个描述
  22. /*
  23. import 包含头文件
  24. 可以自动防止重复包含
  25. 注意:只包含.h
  26. .m 和 .c 一样 专门用来写代码 (可以写c代码和oc代码)
  27. .h 专门用来声明
  28. */
  29. //创建对象之前首先要创建类,然后根据类来创建对象
  30. //1.分析对象应该有的属性
  31. //2.分析有什么行为
  32. //3.创建一个类来描述对象
  33. //OC 的关键字大部分都以@开头
  34. //interface表示接口部分
  35. //@interface 类名
  36. //
  37. //@end//表示接口部分结束了
  38. //所有单词的首字母都大写
  39. //如果公司有特殊规定,就按规定写
  40. //:表示继承
  41. //NSObject 基类
  42. //如果没有明确的父类指向,那么直接指向基类
  43. @interface QF_Dog : NSObject
  44. {
  45. //紧接在interface下面有一对大括号
  46. //专门用来放属性,字段,实例变量(官方叫法)
  47. //实例变量的名字以_开头
  48. @public
  49. char _color[20];
  50. }
  51. //OC里面把函数叫做方法或者消息
  52. //声明方法
  53. //- (返回值类型)方法名;
  54. //方法名要遵循波浪原则------首字母小写,后面的单词每一个都首字母大写
  55. //- 表示实例方法----都是由对象来调用的
  56. - (void)beatPersonPersonPerson;
  57. @end
  58. //实现部分
  59. //专门用来实现功能
  60. //要表明实现的是哪一个类
  61. @implementation QF_Dog
  62. -(void)beatPersonPersonPerson
  63. {
  64. NSLog(@"狗咬人了!");
  65. }
  66. @end//实现部分结束了
  67. int main(int argc, const char * argv[])
  68. {
  69. @autoreleasepool {
  70. //创建对象
  71. //类其实是我们自定义的一个数据类型
  72. QF_Dog *dog = [QF_Dog alloc];
  73. //dog 其实是对象指针
  74. //对象 其实是分配出来的一块内存
  75. //我们是通过指针去使用对象的内存
  76. strcpy(dog->_color, "white");
  77. //nslog 和printf非常的类似
  78. //@""表示OC的字符串
  79. NSLog(@"%s",dog->_color);
  80. [dog beatPersonPersonPerson];
  81. //方法的调用 [对象 方法]
  82. }
  83. return 0;
  84. }
  85. //创建一个汽车类
  86. //属性: 轮子的个数 速度
  87. //行为: 跑起来
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注