oc-15-匿名对象

/**
 匿名对象
 1.访问成员变量--->只能给成员变量设置值,只能成功1次,每次都是新的对象.
 2.调用方法时类似类方法:
 跟类方法区别:匿名对象创建对象了,开辟空间了.
 */
#import <Foundation/Foundation.h>
#import "Student.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {

        // 用匿名对象调用方法
        [[Student new] studyWithStudent:[Student new]];

        NSString *s = [[NSString alloc] initWithFormat:@"122"];
        NSLog(@"%@",s);

//         正常创建对象
        Student *s = [Student new];
        s->_age = 10;
        [[Student new] study];

        // 创建匿名对象
        [Student new]->_age = 20; // 这是1个对象

        // 输出成员变量值
        NSLog(@"%d",[Student new]->_age);//另一个对象

        // 用匿名对象调用方法
        [[Student new] study]; // 这是另外1个对象
        [[Student new] study]; // 跟上面不是1个对象.

    }
    return 0;
}
时间: 2024-11-06 16:43:16

oc-15-匿名对象的相关文章

OC 对象和匿名对象

OC 对象和匿名对象 对象和匿名对象的定义: 当new出一个对象时,如果用一个指针接收这个对象,那么这个指针通常被称为对象. 如果new出的对象,不用指针接收,那么这个对象就称为匿名对象. #import <Foundation/Foundation.h> #import "Iphone.h" #import "Person.h" int main(int argc, const char * argv[]) { //1.通过指针访问对象 Iphone

匿名对象:oc

匿名对象就是没有名字的对象: [Car new]->speed = 300; [[Car new] run]; 上面两句的结果是0,因为[Car new]每次都会重新申请内存: OC字符串也是一个对象:

黑马程序员 oc对象的行为和内存分析,匿名对象

#import <Foundation/Foundation.h> @interface Car : NSObject { @public int speed; int wheels; } // oc方法必须是-开头 // oc方法中所有的数据类型必须得用括号括起来 // oc方法中的()就是用来扩住数据类型的 -(void)run; @end @implementation Car - (void)run { NSLog(@"%d个轮子和速度为%d的车子跑起来了!");

47 匿名对象

什么是匿名对象 没有名字的对象 匿名对象应用场景 调用方法  仅仅只调用一次的时候 那么匿名对象调用有什么好处呢? 节省代码 注意:调用多次的时候,不适合,匿名对象调用完毕就是垃圾 1 class Demo2_Phone{ 2 3 4 public static void main(String[] args) { 5 6 new Phone().sendMessage(); //匿名对象 7 } 8 } 9 10 class Phone{ 11 String brand; 12 int pri

黑马程序员 11-OC匿名对象

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 匿名变量:利用类创建一个对象的时候,没有将对象的地址交给一个指针变量保存,这样的对象称为匿名对象,即没有指针指向的对象. //匿名变量 1 #import <Foundation/Foundation.h> 2 //类的声明 3 @interface Car : NSObject 4 { 5 @public//表示允许外界指针间接访问对象的成员变量 6 int _speed;//速度 7 } 8 //方法

C#匿名对象序列化

//匿名对象序列化 var obj=new { Name = "张三", Age = 15 }; Console.WriteLine(JsonConvert.SerializeObject(obj)); //匿名集合序列化 List<object> list = new List<object>(); list.Add(new { Name = "张三", Age = 15 }); list.Add(new { Name = "张三

java匿名对象

java学习面向对象之匿名内部类 之前我们提到“匿名”这个字眼的时候,是在学习new对象的时候,创建匿名对象的时候用到的,之所以说是匿名,是因为直接创建对象,而没有把这个对象赋值给某个值,才称之为匿名. 匿名对象回顾: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class NoObject {     void method()     {         System.out.println("Hello NoNam

面向对象_匿名对象

匿名对象使用方式一:当对对象的方法只调用一次时 可以使用匿名对象来完成 这样比较简化 如果对一个对象进行多个成员调用必须给这个对象取个名字 匿名对象使用方式二:可以将匿名对象作为实际参数进行传递 1 public class Object_Anonymity { 2 public static void main(String[] args) { 3 Car c=new Car(); 4 c.color="blue"; 5 c.run(); 6 7 //用匿名对象表示如下: 8 new

面向对象、匿名对象、构造方法

1. 类和对象的关系 :类是对同一类事物(对象)的抽象,对象实际存在的该类的各种实体. 2. 面向对编程的核心:找合适的对象来做合适的事. 3. java中如何来找到对象: (1).sun自己定义好的类,必须知道这个类. (2).自定义类,通过自定义的类来出创建对象. 4. 类的格式 : class 类名 { //1.属性(成员变量) :描述对象的公共特性.. //2.方法 :描述对象的公共行为. } 如何通过类创建对象: 类名对象名 = new  类名(); 5. 匿名对象 :没有名字对象 匿

《Effective Objective-C 2.0》—(第23-28条)—类别、协议,代理,匿名对象、delegate

第23条:通过委托与数据源协议进行对象间通信 对象之间经常需要相互通信,而通信方式有很多.OC开发者广泛使用一种名叫"委托模式"(Delegate Pattern)的编程设计模式来实现对象间的通信,该模式的主旨是:定义一套接口,某对象若想接收另一个对象的委托,则需遵从此接口,以便称为"委托对象"(delegate).而这"另一个对象"则可以给其委托对象回传一些信息,也可以在发生相关联时间时通知委托对象. 此模式可以将数据与业务逻辑解耦. 在Obj