zoukankan      html  css  js  c++  java
  • 黑马程序员——OC与C语言的异同比较

     
    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];

  • 相关阅读:
    随机图片
    单页网站
    最安全的聊天工具——Cryptocat
    一个游戏——小黑屋
    SAO Utils – SAO风格启动菜单
    对话框实现
    抖动文字
    Leetcode: 22. Generate Parentheses
    Leetcode: 21. Merge Two Sorted Lists
    Leetcode: 20. Valid Parentheses
  • 原文地址:https://www.cnblogs.com/newbee010/p/4344592.html
Copyright © 2011-2022 走看看