Object-c的基础概念(一)

Object-C语言详解 Object-C,通常写作Objective-C(简称ObjC或OC),是种扩充C的面向对象编程语言。它是在C语言的基础上添加了Smalltalk风格的消息传递和反射机制,从而具备了面向对象的特性和优势。Objective-C的流行主要得益于苹果公司的成功,尤其是iPhone和iPad等移动设备的普及,使得Objective-C成为iOS和macOS平台应用开发的首选语言。 阅读详情

下文为阅读笔记。

 

一:Object-c的类基本定义

 

1. 类定义在@interface和@end之间。

2.MyClass:NSObject的方式定义子类和父类。

3.{}中定义类的对象成员

4.-/+定义的是方法,-定义的是对象的方法,+定义的是类的方法。对象是类的一个实例。对于对象的方法,也即是,当使用该方法之前必须先生成该类的一个特定对象。

 

二:强类型和弱类型的引用

 

Object-C的对象可以使用强类型引用和弱类型引用

MyClass *myObject1; // Strong typing
id myObject2; // Weak typing

MyClass * myObject1是一种强类型的定义方法,该定义方法与C++类似。

id myObject2是一种弱类型的定义方法,弱类型的对象主要用于集合类,集合类的对象通常在运行时才知道集合中内部的对象类型定义。弱类型的引用的使用与Object-C的动态类型绑定(Dynamic Typing)息息相关,在Object-C中,每一个对象包含一个成员变量isa,保存着对象属于哪一个类的类型信息。于是,开发人员能够在运行时刻知道对象的定义,例如,其父类是什么,实现了什么函数等。

 

 

三:函数定义和调用

Object-C的函数定义和调用都比较特别,为了让对象执行某个操作,需要向对象发送消息,因此,函数的调用被称作Object Messaging。其消息的定义是[Receiver Message],前者是接收消息的对象,后者是消息的本身。此处先看看函数的定义:

 

函数的定义由函数的类型标记(Method type identifier)、返回值(return type)、一个或者多个的函数签名关键字(Method signature)、参数的类型和命名信息组成。

 

函数的真实命名由各个级联的函数签名关键字组成。例如上述函数定义中函数真实的命名是(insertObject:atIndex:)分号隔开参数的声明。局部的函数签名关键字看起来更像是函数参数的内部命名,真正的参数命名反而在Object Messaging中不出现。例如,上述的函数调用可以写成

[myArray insertObject:anObject atIndex:0]; 
再来看一个例子,前一行是函数的定义,后面一行是函数的调用,可以看到后面的调用Ojbect Messaging中,写的是函数方法签名的关键字
(Method signature keywords)而不是参数命名(parameter names)。由于没有特别的函数名一项,注意其第一个函数方法签名关键字的
命名看起来就像函数名(changeColorTo)+第一个参数(Red)

- (int)changeColorToRed:(float)red green:(float)green blue:(float)blue;
[myColor changeColorToRed:5.0 green:2.0 blue:6.0];

上述例子中,实例方法的真是命名是: -changeColorToRed:green:blue: ,冒号隔开的各个参数顺序不能更改。
转 from:http://blog.csdn.net/shallon_luo/article/details/6217663
Objective-C 30分钟入门教程 Objective-C 30分钟入门教程 我第次看OC觉得这个语言的语法有些怪异,为什么充满了@符号,[]符号,函数调用没有()这个,但是面向对象的高级语言也不外乎类,接口,多态,封装,继承等概念。下面会把OC里面的些定义与Java,C++作对比,让有其他面向对象语言的同学可以快速的了解OC是个神马语言。 1.类定义 类用@interface定义,而不是@class,相当于Java中的c... 阅读详情

相关推荐

Object-C日速成——基础知识

现在是北京时间2:33pm,今天是只有节早课的天,所以我坐在咖啡馆,悠闲又自在。搭建了上午的环境后,我终于要开始写作业喽~ 文章目录、第二章实验报告1.1实验目的1.2实验要求1.3 实验内容二、第五章实验报告2.1 实验目标2.2 实验要求2.3 实验内容三、第六章实验报告3.1实验目的3.2实验要求3.3 实验内容四、第七章实验报告7.1实验目的7.2实验要求7.3 实验内容五、第...

weixin_41473206的博客 3543

Object-C 与C/C++的区别

1)Object C 的类只能继承个类,不能继承多个类,如果要实现类似多个继承,需要使用Category和Extension, Extension是没有名字的Category,也就是匿名Category。 2)Object C从2011年引入了Automatic Reference Counting (ARC),支持垃圾收集,不需要担心内存泄露的问题;而C++依然不支持,需要自己手工管理内存...

jimmyleeee的专栏 7682

Object-C学习笔记之基础知识

Object-C学习笔记之基础知识

Yi_Yuan_n的博客 1072

Object-C 介绍

介绍Object-C 是个为苹果IOS 和OS X系统编写程序的语言。它能够编译和构建命令行功能、GUI、领域框架的通用语言。他也提供了很多的功能帮助维护复杂的应用。 像C++样,Object-C也是在C语言的基础上添加了面向对象的特性,但是两种语言完整这个目标,采用了明显不同的基础哲学。Object-C明显更加的偏向动态语言,推迟它的决定到运行时,而不是编译时。这个表现在IOS 和 OS X

ZiLongO的专栏 8652

Object-C快速入门

Object-C是OS X和iOS上的主要程序开发语言。它是C语言的超集,提供了面向对象和动态运行时的功能。Object-C继承了C语言的语法、基本类型和流程控制语句,同时添加了定义类和方法的语法。当进行动态类型识别和绑定的时候,Object-C还添加了对象结构管理和对象语法的语言层面的支持,将很多工作延迟到了运行时进行处理。

陶罐的程序世界 3万+

《零基础看得懂的C语言入门教程 》——()脱离学习误区

、前言 距离上次编写C语言的教程是5年前了(2015年),由于自己是从初时开始学习编程,深知学习编程的痛苦。当时正在念大学的我想着分享自己自学编程的经验,搭建了个社区(社区之后自己维护太懒,维护了年不到关闭了)第次编写了C语言教程,分享自己的学习经验。社区关闭后,于2017年上传至了CSDN留存至今。 现在回过头查看当时自己编写的教程,由于当时技术的浅薄,编写的教程还是存在很多的不足,故有了个重新编写C语言教程的想法。此次编写计划编写个快速入门的系列以及另个全方面学习C语言的系列。快速入门

1_bit 的博客 3万+

Object C基础

最近开始接触ios开发,需要学习下object C,此文记录学习内容。

ChaseRaod的博客 567

C语言的基础概念

C语言的基础概念: 1.C语言发展 2.编译器运行过程 3.C语言基础代码 4.C语言结构和语句 5.C语言关键字:【程序员自定义时无法使用】 6.C语言转义字符: ​ 7.ASKII码表 ​

2301_80336341的博客 1759

Object-c的基础概念

弱类型的引用的使用与object-c的动态类型绑定(Dynamic Type)息息相关,在object-c中,每个对象包含个成员变量isa,保存着对象属于哪个类的类型信息。再来看个例子,前行是函数的声明,后面行是函数的调用,可以看到后面的调用Ojbect Messaging中,写的是函数方法签名的关键字(Method signature keywords)而不是参数命名(parameter names)。4.-/+定义的是方法,-定义的是对象的方法,+定义的是类的方法。对象是类的个实例。

tecoes的博客 95

网页设计()——HTML基础概念

前言:好久没更新过CSDN博客了,现在从原来的OI,变成了个科研工作者。最近打算把原来的些资料整理下,作为经验公开分享,希望能帮到更多默默努力耕耘的人~ 网页设计系列源于早几年在学校网站工作做入门培训时的些讲稿,有关HTML+CSS框架的编程,比较基础。当时为了给入门的同学更多感性认识,提供了很多小实例,这里也都给出来了。 目录 HTML基础概念 HTML是什么 HTML标签 HTML标签——实例1 建立个HTML文档——实例2 HTML标签的属性和样式——实例2.5 总结.

初学者 7489

:C语言常见概念

在本篇文章中,详细讲述了C语言的常见概念。意在能够让读者初步了解C语言,为后续C语言的学习做铺垫

qiao_yue的博客 1922

C语言——基础查漏补缺():超长文帮你理清概念

C语言是博主最先学的语言,但年半前开始接触了机器学习,主要编程语言变成了python,为了防止对C语言的淡忘,利用谭浩强C语言红皮书和谭浩强的《C程序设计试题汇编》进行查漏补缺,进行易忘概念总结。 、C语言概念概述 个C程序的执行是从本程序的main函数开始,到main函数结束; C语言本身没有输入输出语句(只有输入输出函数); C语言规定,在源程序中main函数的位置可以任意; 个C语...

umbrellalalalala的博客 2226

C++基础概念

本文围绕 C++ 学习与实践,分三大板块:先概述 C++ 开发者应具备的核心能力与学习路径;接着进入“基础概念”章,通过对**函数**(声明、定义、分文件、值传递、调用)、**Struct 结构体**(数组、指针、嵌套、const)、**指针**(用法、运算符、空指针、修饰符)、**数组与容器**(原生数组、std::array、std::vector、链表、栈队列、deque)、**内存模型**(代码区/全局区、栈/堆、new)、**引用****函数进阶**(默认参数、可变参数、重载)及**封装**(s

草履虫建模的博客 4313

IOS object-c基础

讲:OC简介及基本语法 Objective-C简称OC是在C语言的基础上,增加了层最小的面向对象语法,完全兼容C语言,也就是可以在OC代码中混入C语言代码,甚至是C++代码。可以使用OC开发Mac OS X平台和IOS平台的应用程序。简单的介绍了下OC,下面我们来看看OC的基本语法,学习OC之前我们先学习了C语言,因为OC是在C语言的基础上的门开发语言,因此OC的很多基本语法跟使用方法跟...

u013728021的博客 938

Object-C 中的Selector 概念

Object-C 中的Selector 概念、、、、 https://www.cnblogs.com/geek6/p/4106199.html 博客园 首页 新随笔 联系 订阅 管理 随笔 - 135 文章 - 79 评论 - 16 Object-C 中的Selector 概念 selector可以叫做选择器,其实指的就是对象的方法,也可以理解为C语言里面的函数指针,在面向对象里面的对应概念。 @selector(xxxx)的作用是找到名字为xxxx的方法。般用于[a per...

kuangben2000的博客 577

Object-c 基础概念

Object-c的类基本定义   1. 类定义在@interface和@end之间。 2.MyClass:NSObject的方式定义子类和父类。 3.{}中定义类的对象成员 4.-/+定义的是方法,-定义的是对象的方法,+定义的是类的方法。对象是类的个实例。对于对象的方法,也即是,当使用该方法之前必须先生成该类的个特定对象。   二:强类型和弱类型的引用   Obj...

jsjgelei的博客 270
上一篇: 强制删除目录
下一篇: Xcode 真机测试破解方法(转加修改)xcode 4.3 通过
杰式囧诺
博客等级 码龄16年 20粉丝 33原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值