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. C# 文件递归

    C#   文件递归 Directory.GetDirectories: 获取指定目录下的文件夹,不包括子目录: Directory.GetFiles:获取指定文件夹下的文件,不包括子目录: 1.获取所 ...

  2. c# 计算一个整型数组的平均

    一个整型数组的平均: class Program { static void Main(string[] args) { ,,,,,,,,,}; double avg= GetAvg(array); ...

  3. 干货:yii日志功能详解

    转载请注明来自souldak,微博:@evagle 一.基本日志功能 详细的介绍查看官网的document:http://www.yiiframework.com/doc/guide/1.1/en/t ...

  4. JavaScript —— 局部变量和全局变量

    JS的全局变量有3种声明方式: 1.Function 外 var v_myVar; 2.Function 内 v_myVar; 3.window.v_myVar window.v_myVar 全局变量 ...

  5. Eclipse插件 —— Maven的安装

    1.下载插件 下载一(CSDN 网站下载) CSDN上提供的下载内容是笔者在SOURCEFORGE网站上下载下来的.        由于SOURCEFORGE网站上有多个版本,且没有集中打包,需逐个下 ...

  6. C++ STL之priority_queue

    STL中的priority_queue(优先队列)是一种会按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序的容器,不同优先级的情况下,top()上永远是最高优先级的数据,其底层采用的 ...

  7. 邦定lua函数到C里做为回调

    1,  int ref = luaL_ref(L, LUA_REGISTRYINDEX); //把栈顶的obj  存在lua的表里面,返回一个唯一的引用,(栈顶的obj被自动清除),,(这个引用作为回 ...

  8. SQL注入与Java

    前面这篇文章介绍了SQL注入,并且主要就PHP的内容做了实验: http://www.cnblogs.com/charlesblc/p/5987951.html 还有这篇文章对处理方案做了介绍(Pre ...

  9. 【Todo】各种排序整理

    今天面试别人,问到堆排序.发现自己都记不太清楚了. 堆排序 从小到大排序,要用到的是,最大堆. 过程是最大堆,堆顶的最大的元素,调换到数组最后,依次进行.最后达到从小到大的效果. 归并排序 可以看这个 ...

  10. System.Linq.Dynamic 和Nhibernate

    var session = NHibernateSessionManager.Instance.GetSession(); "); var staffList = session.Query ...