OC相关-02:oc和c的基本差异
前言:
面向过程和面向对象。
简单的说,面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。两者的区别就在于面向过程是从事情的开始到结束顺序完成,而面向对象则是从一个事件中抽象出来不同的类和动作,再降类具体到每个对象。比如说,雨天打伞。面向过程就是:下雨了,我造了一把伞,然后打开。而面向对象解决这个问题,就是:下雨,人,伞。下雨这件事情发生了,人拿了一把伞用。很显然,objective-c就是一门面向对象的语言。是在继承c的基础上添加了面向对象的理念。
一.首先看一下c和o-c源文件区别:前面是c,后面是oc.
二. 基本语法对比:
1数据类型
c语言:基本类型(int; short;float;double float…… )。空类型。指针类型。构造类型。定义类型。
oc语言: 除了在c语言数据类型的基本上,还添加了一些其他类型。
以下几种是哪出来需要重点说一下的:
1).BOOL类型:存储0,1表示真假。经常用于做逻辑判断:
如下图,将BOOL类型 变量 isyes初始化: yes,然后赋值为:no;将nslog用整型打印出来,结果为0;其底层定义就是通过0和1来存储的。除此之外在oc中还有 boolen和 bool 类型,功能与BOOL相似。
2)id 万能指针,sel;选择器类型,以及 nsobject * 对象类型,block 代码块等类型。
2. 关键字
c语言32个关键字。
oc兼容c大部分关键字,有增加了一些。
3.流程控制语句。c语言中三大结构:(1)顺序结构。 (2)分支结构(3)循环结构。
oc中结构是和c一样的。但其有增强的循环结构,之后会给大家详细介绍。
4.o-c独有的异常捕获机制:
版权声明:本文为博主原创文章,未经博主允许不得转载。
OC相关-02:oc和c的基本差异的更多相关文章
- oc工程中oc、swift混编代码打包成静态framework踩坑笔记
参考资料: https://www.jianshu.com/p/734341f7c242 https://www.jianshu.com/p/55038871e7de 两天时间探索,期间不知道遇到 ...
- O-C相关05:方法的封装.
前言:在 OC 中进行封装, 就是实现设置实例变量和获取实例变量数据的方法, 常常称为 setter 方法和 getter 方法. 或称为 get set 读写器. 1,setter 方法 sette ...
- OC语言-02面向对象的三大特性
01封装 #import <Foundation/Foundation.h> @interface Student : NSObject { //@public 成员变量尽量不使用 int ...
- OC 相关
1.OC runtime的理解[转载] http://www.csdn.net/article/2015-07-06/2825133-objective-c-runtime/1
- O-C相关-10-动态类型检查
10-动态类型检查 1.动态绑定 1)OC 中方法的调用不由编译器决定,而由运行时决定 2)OC 中没有方法调用,只有消息接收. 一般称消息为选择器 2.动态类型检查 对象在运行时获得类型的能力称为内 ...
- O-C相关-07-@property关键字简介与使用
基本概念:在O-C中,创建完类之后还需要给一个类添加属性和方法,之前说过的set和get方法比较繁琐,因此引入了@property 这个编译器指令.@property 是一个编译器指令.所谓的编译器指 ...
- O-C相关06:self和super关键字介绍——self关键字
self关键字介绍 1.self和super OC 版权声明:本文为博主原创文章,未经博主允许不得转载. posted @ 2015-08-04 12:46 王刚韧(wanghy_iOS) 阅读(.. ...
- O-C相关04:类方法的概述与定义和调用
类方法的概述与定义和调用 1, 类方法的概述 类方法(class method)在其他编程语言中常常称为静态方法(例如 Java 或 C# 等). 与实例方法不同的是,类方法只需要使用类名即可调用, ...
- OC总结 【OC基础语法相关知识】
m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const cha ...
随机推荐
- 生成AWK快照的方法
1.首先在用oracle用户登陆执行sqlplus命令用dba用户执行: exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=> ...
- java基础(二十一)IO流(四)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...
- (转)Python:self
原文:http://www.douban.com/group/topic/19376685/ 这是对前面一个php程序员问python方法为什么要手写一个self的回答,当时那个帖非常的热闹,但是下面 ...
- Oracle 行拼接 wmsys.wm_concat扩展
将多行数据拼接成一行: --wmsys.wm_concat group by a.flowid; 但有大小限制:字符串缓冲区太小,超过varchar 4000长度.扩展:更改返回类型为clob --T ...
- Stand-up meeting
A stand-up meeting (or simply "stand-up") is a daily team-meeting held to provide a status ...
- jmeter http get 登录
登录页url:http://www.ablesky.com/login.do?fromurl=http%3A%2F%2Fwww.ablesky.com%2Findex.do 登录参数用firebu ...
- Day 2 @ RSA Conference Asia Pacific & Japan 2016
上午有两场summits,议题分别是: sum-w01: G2B: Cyber-Business in Myanmar, Indonesia and Thailand sum-w02: Achievi ...
- 5步做好vsftpd
系统:centos6.5 X86 1、yum -y install vsftpd 2、vim /etc/vsftpd/vsftpd.conf 可以用cat vsftpd.conf | grep -v ...
- 模板引擎 Velocity
模板引擎 Velocity 一.Velocity简介: Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template langu ...
- [React] React Fundamentals: Build a JSX Live Compiler
we want to have the ability to write JSX and see the output live in the browser. <!doctype html&g ...