Objective-C语言是iOS开发的专用语言,虽然现在在逐步被swift语言取代,但是仍可以作为基础学习,学会Objective-C之后入手swift也是相当快速。今天我来简谈一下关于OC中的类。

如果有过C++,Java基础的同学就会对类有了初步的了解。类,是一个抽象的概念,将一个事物抽象后概念的集合放在一起就组成了类,比如说鸟类,鸟类是一个很大种群,各种鸟儿都有,但是这些鸟有没有共同特征呢?肯定是有的,我们把这些共同特征抽象出来就组成一个类,如下图

在上图中,绿色文本中的词语是鸟类的一些属性,就是鸟类的特征,红色文本框中是鸟类都有的行为,是动作。我们在定义一个类的时候,要知道需要定义的属性和要定义的行为,在类中是方法,来做出这些行为。我们来看具体写法

一个类文件,包含.m文件和.h文件(具体见下图)。为了提高可读性,类名与创建类时的文件名要相同,OC中所有的类都直接或间接的继承与NSObject类。声明类以@interface开头,以@end结尾,类的实现以@implementation开头,以@end结尾。类名第一个字母习惯大写。在定义方法时候,有“-”方法和“+”方法,“-”方法是对象方法,实例方法,只能用对象调用的方法,只有对象存在时才可以调用,同时要有内存空间才可以操作。“+”方法是类方法,只有类才能调用,不需要实例化。类方法不分配内存空间,类方法中不可以调用实例方法,因为没有内存空间。

我们来看一段具体代码

这是.h文件,里面放声明类的代码和变量的定义以及方法的定义。

这是.m文件,里面放实现的代码

下面是主函数

在主函数中使用类时需要导入类的头文件。在各图中,代码都有详细注释,易于同学们理解和学习。

我们今天的分享就到这里了,大家有疑问欢迎留言。一起讨论学习。

最新文章

  1. ubuntu selinux
  2. Immutable api example
  3. C#:向exe传值
  4. 使用Lucene开发自己的搜索引擎
  5. C# ZedGraph 控件各属性以及示例
  6. php中preg_match用户名正则实例
  7. 洛谷 P1316 丢瓶盖
  8. MySQL学习笔记(一)—数据库基础
  9. Linux服务器中安装Oracle
  10. 免费获取SSL证书/一键安装SSL证书/https加密
  11. [转]Raw Queries in Laravel
  12. Python内置类型(1)——真值测试
  13. java 数组(一)
  14. mysql技术内幕之常规使用
  15. Cents os 7下如何安装bzip2
  16. ARCGIS将WGS84坐标投影到高斯平面
  17. jQuery.merge与concat的区别
  18. ionic 下拉刷新,上拉加载更多
  19. input type="file"在各个浏览器下的默认样式,以及修改自定义样式
  20. JavaScript数据结构-14.集合

热门文章

  1. JavaScript的进阶之路(四)理解对象1
  2. docker pull提示x509错误的对应方法
  3. 【转】PHP如何快速读取大文件
  4. Android解析WindowManagerService(一)WMS的诞生
  5. php判断网站收录情况
  6. maven项目在idea下右键不出现maven的解决办法
  7. java多线程处理问题
  8. 三层构架 和 MVC 是什么?
  9. js变量作用域--变量提升
  10. C# 字符串中特定字符判断