Objective-C - 构造方法

构造方法



// 构造方法:用来初始化对象的方法,是个对象方法,-开头
// 重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值
/*
 重写构造方法的注意点
1.先调用父类的构造方法([super init])
2.再进行子类内部成员变量的初始化
 */
int main()
{
    // Person *p = [Person new];
    /*
     完整地创建一个可用的对象
     1.分配存储空间  +alloc
     2.初始化 -init
     */

    // 1.调用+alloc分配存储空间
    // Person *p1 = [Person alloc];
    // 2.调用-init进行初始化
    // Person *p2 = [p1 init];

//    // 调用-init进行初始化
//    Person *p3 = [Person new];
//
//
//    // 每个Person对象创建出来,他的_age都是10
//    

    Person *p4 = [[Person alloc] init];

    Student *stu = [[Student alloc] init];

    NSLog(@"------");

    return 0;
}

人类

@interface Person : NSObject
@property int age;
@end
#import "Person.h"

@implementation Person

 //重写-init方法
- (id)init
{
    // 1.一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性
    self = [super init]; // 当前对象 self

    // 2.如果对象初始化成功,才有必要进行接下来的初始化
    if (self != nil)
    { // 初始化成功
        _age = 10;
    }

    // 3.返回一个已经初始化完毕的对象
    return self;
}

- (id)init
{
    if ( self = [super init] )
    { // 初始化成功
        _age = 10;
    }

    // 3.返回一个已经初始化完毕的对象
    return self;
}

@end

学生类

#import "Person.h"

@interface Student : Person
@property int no;
@end
#import "Student.h"

@implementation Student

// 学生对象初始化完毕后,年龄就是10,学号就是1

- (id)init
{
    if ( self = [super init] )
    {
        _no = 1;
    }
    return self;
}

@end
时间: 2024-10-20 10:46:23

Objective-C - 构造方法的相关文章

iOS开发核心语言Objective C —— 全部知识点总结

本分享是面向有意向从事iOS开发的伙伴及苹果产品的发烧友,亦或是已经从事了iOS的开发人员,想进一步提升者.假设您对iOS开发有极高的兴趣,能够与我一起探讨iOS开发.一起学习,共同进步.假设您是零基础.建议您先翻阅我之前分享的iOS开发分分钟搞定C语言系列,然后在開始Objective C语言的学习,假设您遇到问题也能够与我探讨.另外将无偿分享自己整理出来的大概400G iOS学习视频及学习资料,都是干货哦.能够新浪微博私信?关注极客James,期待与您的共同学习和探讨! ! 由于时间有限,每

iOS开发核心语言Objetive C —— 编译器指令@[email protected]自定义构造方法及类工厂

本分享是面向有意向从事iOS开发的伙伴们,或者已经从事了iOS的开发者.如果您对iOS开发有极高的兴趣,可以与我一起探讨iOS开发,一起学习,共同进步.如果您是零基础,建议您先翻阅我之前分享的iOS开发分分钟搞定C语言系列,然后在开始Objective C语言的学习,如果您遇到问题也可以与我探讨,另外将无偿分享自己整理的大概400G iOS学习视频及学习资料,都是干货哦!可以新浪微博私信?关注极客James,期待与您的共同学习和探讨!!由于时间有限,每天在工作之余整理的学习分享,难免有不足之处,

Objective-C

1.Objective-C语言特性 2.static __block const 3.Object-C的内存管理 4.RunLoop 5.iOS消息传递机制 6.iOS程序生命周期 7.MVC设计模式MVVM 8.UIView CALayer Frame 与bounds 9.根类 NSObject 10.多线程简介 11.数据持久化 12.JSON和XML HTML 自定义报文 13.网络编程 HTTP TCP/IP Socket  ASI AFNetwork 14.AppStore上传 及远程

构造方法中使用泛型

------------siwuxie095 构造方法中使用泛型: 构造方法可以为类中的属性初始化,如果类中的属性通过泛型指定,而又需要 通过构造方法设置属性内容的时候,构造方法的定义与之前并无不同,不需要 像声明类那样指定泛型 package com.siwuxie095.generic; class Context<T>{ private T value; public Context(T value) { this.value=value; } public T getValue() {

构造方法使用及注意事项

构造方法:构造方法是为类中的属性初始化的. 1构造方法的特征:与类名称相同.不含返回值类型的定义.不能在方法中使用return返回一个值 2通过构造方法为属性初始化的时候,最好也经过setter方法完成. eg: class Car{ private String a;//进行了封装 private int b; Car(String s,int n){ this.setA(s);//通过构造方法为属性初始化时,最好使用setter方法完成 this.setB(n); } public Stri

构造方法

特点: 方法名称和类名系统 没有返回值类型,连void也没有 没有具体的返回值 作用: 对数据进行初始化的 注意事项: 构造方法也是有return语句的,格式是return; 如果我们没有给出构造方法,那么系统会提供一个无参的构造方法 如果我们给出了构造方法,那么系统就不会系统无参的构造方法

java构造方法

1.使用new+构造方法,创建一个新的对象 2.构造方法是定义在Java类中的一个用来初始化对象的方法,构造方法与类同名且没有返回值. 3.无参构造方法的使用 4.有参构造方法的使用 5.当没有指定构造方法时,系统会自动添加无参的构造方法 6.当有指定构造方法,无论是有参.无参的构造方法,都不会自动添加无参的构造方法. 7 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法. 8.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性附一个合理的值

构造方法简析

 构造方法,又叫构造器,是在一个类被实例的时候自动执行的一个方法. 1.相比较一般方法来说它的区别: 1.作用:用来给被实例的类进行初始化的, 而不是用于描述某一事物的具 体功能: 2.调用方式:不许要被对象调用,还是在该类被实例的时候自动执行,且 只能执行一次: 3.其他:构造方法可以调用构造方法和一般方法,但是一般方法只能调用 一般方法却不能调用构造方法: 2.构造方法的特点: 1.名字与类名一致: 2.没有返回值,即不需要写返回类型, 包括void: 3.在一个类中也可以有多个构造函数

C#基础[4] 类的构造方法

构造方法用来创建对象,并且可以在构造函数中对对象进行初始化.构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用.构造函数可以有参数,new对象的时候传递函数参数即可 如果不指定构造函数,则类有一个默认的无参构造函数.如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写. 构造函数可以重载,也就是有多个参数不同的构造函数.

构造方法和方法的重载。

---恢复内容开始--- 构造器,又称为构造方法.constructor 构造器用于构造该类的实例. 格式: [修饰符] 类名(形参列表){ //n条语句 } 是一种特殊的方法: 1.通过new关键字调用 2.构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能字啊构造器里调用return. 3.如果我们没有定义构造器,则系统u会自动定义一个无参的构造函数.如果已定义则编译器不会添加! 4.构造器的方法名必须和类名一致! 5.构造该类的对象,经常也用来初始化对象的属性. --