zoukankan      html  css  js  c++  java
  • Effective Objective-C 2.0 — 第一条:了解Objective-C语言的起源

    第一条: 了解Objective-C语言的起源

      由Smalltalk演化而来,消息型语言的鼻祖(messaging structure)而非 (function calling)函数调用

    //Messaging (Objective-C)
    Object *obj = [objective new];
    [obj performWith:parameter1 and:parameter2];
    
    //Function calling (C++)
    Object *obj = new Object;
    obj->perform(parameter1, parameter2);

      区别:
          messaging structure:运行时所执行的代码由运行环境来决定。不管调用的函数是否多态,总在运行时才去查找所要执行的方法,编译器不关心接受消息的对象是何种类型,“动态绑定“

          Function calling: 运行时所执行的代码由编译器决定

    runtime component 运行期组件包含Objective-C的面向对象特性所需的全部数据结构及函数

    NSString *someString = @"The string";
    NSString *anotherString = someString;

    someString 变量指向分配在堆里的某块内存其中含有一个NSString对象

    对象所占内存总是分配在”堆空间“(heap space)中,而不再”栈“(stack)中

    要点: OC是C的超集,OC使用动态绑定的消息结构,也就是说,在运行时才会检查对象类型。接受一条消息后,究竟应执行何种代码,由运行期环境而非编译器来决定

  • 相关阅读:
    Android——活动的基本用法
    开课第五周周总结
    java常用框架
    javaweb学习
    每日日报2021.3.23
    每日日报2021.3.22
    每日日报2021.3.21
    每日日报2021.3.19
    每日日报2021.3.18
    每日日报2021.3.17
  • 原文地址:https://www.cnblogs.com/IDRI/p/4983846.html
Copyright © 2011-2022 走看看