1.  文件介绍:Objective-C 也使用头文件(header files),后缀为 .h, 但使用 .m(即 message, 其他面向对象编程语言也叫 method),作为源文件的后缀。 
                  在objective-c中使用#import<>,而不使用#include<>,#import可以保证头文件只被包含一次。 
2. 与C一致的地方: 数据类型,表达式,各种运算符 
   循环:for, while, do while, break, continue 分支:if, else, switch 
3.NSlog()函数:与printf()类似,想控制台输出信息。但它增加了一些特性,如时间戳等。 【cocoa对起所有的函数,常量和类型名称都添加了NS前缀。】 
4.双引号的前面的@表示这双引号中的字符串应该作为cocoa的NSString元素来处理。

5.布尔类型BOOL:值为YES,NO;

6.%d表示输出整数%@表示输出NSString类型 %s表示输出字符串数组(char*);

7.    objective-c中的方括号: 1.       用于通知某个对象该做什么。 
                                        2.       方括号内第一项是对象,其余部分是你需要对象执行的操作。 
                                        3.       在objective-c中通知对象执行某种操作,称为发送消息。(也叫调用方法)

8. 标识符id:是一种泛型,用于表示任何种类的对象。

9. 类声明@interface:

@interface Circle:NSObject   //为Circle类定义接口;NSObject表示是父类。

{//以下是数据成员

ShapeColor fillColor;

ShapeRect bounds;

}

//以下是方法声明

-(void) setFillColor: (ShapeColor) fillColor;  // 前面的短线表明这是方法声明//短线后面是方法的返回类型//接着是方法名

// 冒号后面是参数,其中(ShapeColor)是参数类型, fillColor是参数名 
-(void) setBounds:(ShapeRect) bounds; -(void) draw; // 减号就是普通函数 加号就是静态函数 @end     //结束声明

objective-c看到@符号,就把它看成是C语言的扩展。 一个类的完整声明如下: 
    @interface CClassA(Category): CBaseClass<IA,IB...> //类名(类别名):父类<协议> 
10. 类实现@implementation

@implementation @implementation Circle 
-(void) setFillColor: (ShapeColor) c


   fillColor=c;


-(void) draw

{

NSLog(@”drawing a circle at(%d %d %d %d) in %@”,

bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillName));

}

@end

隐藏对象self对应于C中的this。 Self->fillcolor来访问成员变量。 
11. 调用写好的类和类函数: 
//创建新对象,使用缺省初始化函数 
    Bank *bankDefault = [[Bank alloc] init]; //调用方法: 
    [bank addAmount: 1]; [bank print]; // 释放对象: 
    [bankDefault free];  
12. 
两个参数的方法: 
-(void) setTire: (Tire *) tire  //声明

atIndex: (int) index;

//使用

[car setTire:tire atIndex:2];

http://www.itheima.com/

黑马程序员——OC与C语言的异同比较的更多相关文章

  1. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

  2. 黑马程序员——OC语言 类和对象

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数 ...

  3. 黑马程序员——OC语言 核心语法 (3)

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)分类Category 1) 基本用途 如何在不改变原来类模型的前提下 ...

  4. 黑马程序员——OC语言 核心语法(2)

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)id 1)简介:万能指针,能指向任何OC对象,相当于NSObject ...

  5. 黑马程序员——OC语言 三大特性之多态

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之一的多态 (一)多态的基本概念 OC对象具有多态性体现在 Per ...

  6. 黑马程序员——OC语言 三大特性之继承

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之继承 (一)继承的基本用法 先建立个Animal再用Dog继承前 ...

  7. 黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 ...

  8. 黑马程序员——OC语言 其他语法

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)ARC的判断准则:只要没有强指针指向对象,就会释放对象 1.ARC特 ...

  9. 黑马程序员——OC语言 内存管理

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)计数器 每个对象内部都保存了一个与之相关联的整数,称为引用计数器,当 ...

随机推荐

  1. Android 调试机制

    Android的调试信息可以根据DDMS进行查看,Logcat日志输出所有的调试信息,为了方便的找到我们需要的打印信息,可以在logcat后面增加过滤器.比如你想查看system.out.printl ...

  2. Docker仓库搭建(Registry + Portus)

    1.更新系统: yum update -y 2. 安装docker-compos yum -y install epel-release    #pip安装包在epel源中   yum -y inst ...

  3. dojo 九 effects dojo/_base/fx 和 dojo/fx

    官方教程:Dojo Effects这里讲学习一下dojo如何实现淡入.淡出.滑动等效果.实现这些特殊的效果有两个包 dojo/_base/fx 和 dojo/fx.dojo/_base/fx 中提供了 ...

  4. [2014-03-13 08:46:42 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

    Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace. 问题提示 ...

  5. 串口log

    使用windows自带的超级终端: 可从开机log开始保存: -----

  6. Volley HTTP库系列教程(1)简介及优点

    Transmitting Network Data Using Volley Get  started Dependencies and prerequisites Android 1.6 (API ...

  7. vm上安装ubuntu

    图解演示环境版本: 本机系统: WIN7 虚拟机:VMware Workstation 8 (英文版) 安装目标:Ubuntu Desktop 12.04 LTS  (请点击这里)先下载好iso镜像文 ...

  8. 【干货】国外程序员整理的 C++ 资源大全

    关于 C++ 框架.库和资源的一些汇总列表,由 fffaraz发起和维护. 内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard ...

  9. 【温故知新】c#事件event

    从上一篇文章[温故知新]C#委托delegate可知,委托delegate和事件Event非常的相似,区别就是event关键字,给delegate穿上了个“马甲”. 让我们来看官方定义: 类或对象可以 ...

  10. orm 通用方法——GetOneModel 条件查询一个对象

    数据连接层的方法封装成通用方法是很有必要,节省不必要的重复写代码. Golang的orm.xorm框架没有封装这些操作. 这里是一个查询单个对象的方法. 此处抛砖引玉,大家继续完善. 通用方法定义代码 ...