OC中的类和对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/46784517

C语言是面向过程的编程,而OC是面向对象的编程。说到面向对象就不得不提类和对象这两个概念。类是一个抽象的概念,而对象是一个具体的概念。举一个生活中的例子。人类就是一个类,它是对具有人的特性的人的一个抽象,而你我他每一个具体的人就是一个对象,它是类的一个实例,一个具象。

下面是上课老师给出的类和对象的概念,从多个角度帮助我们更好地理解类和对象的概念:

类和对象的概念;

1.从生活逻辑理解:

类别、种类

类 对象

人         小明

对象具体到了某一个事物。

2.从封装角度理解:

函数:实现某种功能的处理方法。

结构体:对存储数据的数据结构的封装。

类:对存储数据的封装,并且对方法实现的封装。

3.从编程角度理解:

类:自定义的一种数据类型。Person * xiaoming;

对象:某种数据类型下创建的一个变量。 xiaoming.

4.官方定义:

类:具有某种特征事物的抽象。

对象:具有某种特征事物中的一个实例(具象)。

编写OC程序同样是在Xcode中,只不过这次的type要选Foundation,主函数(main函数)的后缀名是.m,而不是在编写C程序时的.c了。在OC中要对类进行声明,再利用类创建新的对象,可以利用一个类创建多个对象。如:Person * liudehua = [Person alloc];  这样一个名为liudehua的对象就被创建了。  类的声明包括成员变量(即属性)的声明和函数(即方法)的声明。 函数在声明之后还要实现函数,这样函数才能被主函数中创建的对象调用。OC将类的声明和函数的实现分别放在了.h和.m这两个文件中,显得更加有条例性。(在导航器面板中右击,选择New File即可创建出.h和.m这两个文件)。在函数声明中一般会有set函数,以便将来用来对成员变量进行赋值。

在成员变量的定义和函数的声明有一些规范:

1.成员变量的名字前一般要加下划线_。

2.函数的声明:-(返回值的类型) 方法名;,函数名的后面如果还有参数要加冒号:,后面紧跟参数类型和参数名,如(NSString *)name。   函数的实现:-(返回值的类型) 方法名{}。

3.无论是方法名还是成员变量的命名都要遵循驼峰标识。

切记在写主函数的时候一定要首先引入头文件,即.h文件。OC中的引入用#import。

OC中不管是对象的创建还是函数的调用都要用中括号括起来。

第一天学习OC也是第一天开始写学习的过的东西,写的可能比较乱,思路不是很清晰,东一棒子,西一榔头,但我会继续努力,不断改进的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术点滴

不要被C++“自动生成”所蒙骗

不要被C++“自动生成”所蒙骗 C++对象可以使用两种方式进行创建:构造函数和复制构造函数。假如我们定义了类A,并使用它创建对象。 A a,b; A c=a; ...

2299
来自专栏超然的博客

You don't know js

尽管通常将 JavaScript 归类为“动态” 或“解释执行” 语言, 但事实上它是一门编译语言。 程序中的一段源代码在执行之前会经历三个步骤, 统称为“编...

1061
来自专栏五分钟学算法

每天一算:Delete Node in a Linked List

LeetCode上第237号问题:Delete Node in a Linked List

832
来自专栏用户2442861的专栏

static_cast, dynamic_cast, reinterpret_cast, const_cast区别

(使用vs2010所带的编译器) 转载请注明来源 http://www.cnblogs.com/jerry19880126/

782
来自专栏信数据得永生

JavaScript 编程精解 中文第三版 九、正则表达式

3066
来自专栏狮乐园

dart class overview

最近在折腾 flutter 相关的东西,所以当然要撸一下 dart 了。编程语言这个东西,接触得多了学习起来速度会提升不少,但是不同的语言具有不同的特色,我们需...

1162
来自专栏高性能服务器开发

深入理解C/C++中的指针

C和C++中最强大的功能莫过于指针了(pointer),但是对于大多数人尤其是新手来说,指针是一个最容易出错、也最难掌握的概念了。本文将从指针的方方面面来讲述指...

1201
来自专栏数说工作室

统计师的Python日记【第2天:再接着介绍一下Python呗】

第一天学习了Python的基本页面、操作,以及几种主要的容器类型,学习大纲如下: 一、为什么学Python? 二、安装与熟悉 1、安装 2、熟...

4468
来自专栏Java帮帮-微信公众号-技术文章全总结

【Java提高十五】数组

一、什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的!...

3887
来自专栏有趣的Python

1-Java常用工具类-异常

除了自定义类,java中还为我们提供了一系列的工具类。我们会为大家介绍6种最常用的工具类。

2892

扫码关注云+社区