1、OC简介

全称:Objective-C,是扩充C的面向对象编程语言,主要用于iOS和Mac OS开发。

  • C语言的基础上,增加了一层最小的面向对象语法
  • 完全兼容C语言
  • 可以在OC代码中混入C语言代码,甚至是C++代码
  • 可以使用OC开发Mac OS X平台和iOS平台的应用程序

2、 OC语法概述

2.1关键字

每一种语言都有关键字,比如C语言的 flaot、int等等,那么oc有哪些关键字呢?

基本上所有关键字都是以@开头

下面列举一些常见的关键字,可以先预览一下,不用去翻资料查找它们的含义

@interface、@implementation、@end 

@public、@protected、@private、@selector 

@try、@catch、@throw、@finally  

@protocol、@optional、@required、@class

@property、@synthesize、@dynamic

self、super、id、_cmd、__block、__strong、__weak

2.2 字符串以@开头

比如@“Hello"是OC中的字符串,而"Hello"则是C语言中的字符串

2.3 其他语法

2.4  NSLog与printf的区别

  • NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
  • NSLog输出后会自动换行,printf输出后不会自动换行set方法和get方法
  • 使用NSLog需要#import <Foundation/Foundation.h>
  • 使用printf需要#include <stdio.h>

2.5 Foundation框架的作用

开发OC、iOS、Mac程序必备的框架

  • 此框架中包含了很多常用的API(应用编程接口)
  • 框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可

#import <Foundation/Foundation.h>

3、 OC与其他语言的区别

3.1 Objective-C同C的异同:

  1、C作为一种结构化语言,层次清晰,便于按模块化方式组织程序,易于调试和维护;Objecive-C扩展了C 语言使它具备面向对象设计的能力,例如类、消息‘继承;同时在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法;

  2、C表现能力和处理能力极强。可以直接访问内存的物理地址,进行位(bit)一级的操作;C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体—既可用于系统软件的开发,也适合于应用软件的开发;Objective-C可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。

3.2 Objective-C同C++的异同:

1、单一继承:

和Java、Smalltalk一样,Objective-C不支持多重继承,而C++语言支持多重继承。

2、动态:

Objective-C是动态定型(dynamicaly typed),它的类库比C++容易操作。Objective-C 在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。

4、OC的学习方法

在掌握C语言之后,学习OC是比较轻松的。由于OC是面向对象的语言,C语言是面向过程语言,所以学完C语言之后,还需要掌握一些面向对象的知识。只要按照方法得当、循序渐进的学习,就可以学好。OC的学习大致可以分为这些个方面:

1、面向对象编程

2、类和对象

3、创建类和对象

4、set方法和get方法

5、类方法和对象方法

6、self等关键字

7、继承和多态

8、字符串简单的使用

9、分类Category

10、内存管理

11、协议代理

12、Block

13、单例

14、ARC

15、字符串的使用

16、Foundation框架

OC笔记一:Objective的更多相关文章

  1. 015-OC基础语法-OC笔记

    学习目标 1.[了解]Objective-C语言简介 2.[掌握]第一个OC程序 3.[掌握]OC中的字符串 4.[熟悉]OC中的一些玩意 5.[了解]面向过程与面向对象 6.[掌握]类的声明和实现 ...

  2. IOS学习笔记2—Objective C—类、属性、方法

    以下是我学习IOS开发的一些笔记和心得,贴出来和大家一同分享,也希望大家能补充和纠错,共同进步 有Android和IOS开发问题也希望能和大家交流! Objective-C 1.OC是一门基于C的面向 ...

  3. OC笔记一:Objective-C简介

    1.OC简介 全称:Objective-C,是扩充C的面向对象编程语言,主要用于iOS和Mac OS开发. C语言的基础上,增加了一层最小的面向对象语法 完全兼容C语言 可以在OC代码中混入C语言代码 ...

  4. [OC笔记] protocol之我的见解

    OC中的protocol就是和JAVA中interface差不多的东西,但是又不是完全一样的.这个protocol常用来实现委托,也就是自己不实现,当事件产生的时候去回调委托者. 让委托者去执行响应的 ...

  5. [OC笔记] Category分类之见解

    用过别的语言做过开发的同学都知道,如果你想扩充一个类,就应该去继承这个类.但是OC里面有更好的方法,那就是分类. 那什么是分类呢?就是在不改变原先类,我们可以在其中添加咱们自定义的方法,这样和同事合作 ...

  6. [OC笔记]@property之个人理解,大神轻拍

    /** * 一个简单的对象 * * @author suzhen * */ public class SimpleObjcet { /** * 声明一个age字段 */ private Object ...

  7. [OC笔记]我的第一个OC程序

    这是我第一个OC程序,详情都写在了注释里面,讲的是Student和Book这两个类的创建和使用.(是不是觉得student这个类在各种语言入门代码里经常出现呢?真实有爱) 看完这些,你会发现,咱们其实 ...

  8. OC内存管理-OC笔记

    内存管理细节:http://blog.sina.com.cn/s/blog_814ecfa90102vus2.html 学习目标 1.[理解]内存管理 2.[掌握]第一个MRC程序 3.[掌握]内存管 ...

  9. 018-继承-OC笔记

    学习目标 1.[掌握]Xcode开发文档 2.[掌握]static关键字 3.[掌握]self关键字 4.[掌握]继承 5.[掌握]NSObject 6.[掌握]访问修饰符 7.[掌握]私有实例变量和 ...

随机推荐

  1. poj1066--Treasure Hunt(规范相交)

    题目链接:点击打开链接 题目大意:一个正方形的墓葬内有n堵墙,每堵墙的两个顶点都在正方形的边界上,如今这些墙将墓葬切割成了非常多小空间,已知正方形内的一个点上存在宝藏,如今我们要在正方形的外面去得到宝 ...

  2. url前面双斜杠、单斜杠、无斜杠、点+单斜杠的总结

    原文:url前面双斜杠.单斜杠.无斜杠.点+单斜杠的总结 本来只是一个绝对url和相对url的简单问题,但实际使用中会碰到一些不常见的,比如双斜杠,经常不用竟然忘了,做一下总结.可以参考一下这篇文章 ...

  3. [GeekBand] C++ 内存分布—— new和delete重载的实现及分析

    本文参考文献:GeekBand课堂内容,授课老师:侯捷 :深度探索C++对象模型(侯捷译) :网络资料: http://www.leavesite.com/geekband-cpp-5.html ht ...

  4. N 个互异数的数组的平均逆序数

    N 个互异数的数组的平均逆序数为 N(N−1)/4 1. 简单证明 对于任意的数的表 L(5,8,9,6,4),以及其反序表 Lr(4,6,9,8,5),它们各自的逆序数分别为:6 ((5, 4), ...

  5. 【19.00%】【vijos p1906】联合权值

    描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离. ...

  6. jQuery Mobile移动开发

    1.在<head>元素中包括JavaScript文件是传统的方法.然而,依据Yahoo!"80%的终于用户响应时间在前端上"的说法,这些事件大部分花在资产的下载上,比如 ...

  7. 从华为产品学到什么是devops

    根据Gartner 2015 I&O Automation 报告,DevOps处于技术发展的最高点,实践受到高度关注,到底devops魔力在哪里? 从devops实践看主要是打破开发人员和运营 ...

  8. python 整数中1出现的次数

    把整数转换为字符串 用count计数 # -*- coding:utf- -*- class Solution: def NumberOf1Between1AndN_Solution(self, n) ...

  9. 主干(trunk)、分支(branch )、标记(tag)

    主干(trunk).分支(branch ).标记(tag) 用法示例 + 图解   以svn为例,git的master相当于trunk,dev分支相当于branches --------------- ...

  10. Methods and Systems for Enhancing Hardware Transactions Using Hardware Transactions in Software Slow-Path

    Hybrid transaction memory systems and accompanying methods. A transaction to be executed is received ...