对象-objective-c继承后初始化的问题?

问题描述

objective-c继承后初始化的问题?
#import

@interface Person : NSObject
@property(nonatomic) NSString *name;
@property(nonatomic) int age;
-(void)say;
@end

#import ""Person.h""

@implementation Person
-(void)say
{
NSLog(@""my name is %@ I am %d years old !""_name_age);
}
@end

#import ""Person.h""

@interface Student : Person
{
int idnumber;
int classnumber;
NSString *classname;
}
-(void)say;
-(id)initWithId:(int)_idnumber andWithClassnumber:(int)_classnumber andWithClassname:(NSString *)_classname andWithName:(NSString *)_name andWithAge:(int)_age;
@end

我在person类里.h文件里面有两个属性,使用自动初始化,然后student类继承了person类,在增加了三个属性现在我要创建一个student类的对象 请问我们门初始化这个students类啊?

解决方案

Objective-C( 继承,初始化方法)
[Objective-C] 03.OC中的继承和初始化方法

解决方案二:
students类的初始化函数里先调用super init,然后再初始化students自己

解决方案三:
super init会调用父类的init方法

时间: 2024-09-16 13:48:08

对象-objective-c继承后初始化的问题?的相关文章

实现整个网站系统只有一个connection对象,可是对象只能使用一次,再次调用时提示:connection对象的connectionstring属性未初始化?内含代码

问题描述 实现整个网站系统只有一个connection对象,可是对象只能使用一次,再次调用时提示:connection对象的connectionstring属性未初始化???????..................为什么????????创建connection对象publicclassPubConn{privatePubConn(){}privatestaticOracleConnectionDALPubConnection;publicstaticOracleConnectionPubCo

java-fastjson在反序列化时,怎么解析对象中的继承

问题描述 fastjson在反序列化时,怎么解析对象中的继承 例子: import com.alibaba.fastjson.JSON; public class Text { private A a; class A { private String a; public String getA() { return a; } public void setA(String a) { this.a = a; } } class B extends A { private String b; pu

winapi-C# winfrom项目,怎么样实现通过WINAPI 关闭对象的句柄窗口后,还能再次获取该句柄窗口

问题描述 C# winfrom项目,怎么样实现通过WINAPI 关闭对象的句柄窗口后,还能再次获取该句柄窗口 在C# Winfrom项目中,from窗体中,有一个Panel控件. 目前已经实现将对象的窗口通过winAPI获取到句柄窗口放到了Panel控件中. 请问怎么样实现关闭from窗体后,下次再进入from窗体后,还通过winAPI获取到句柄窗口放到了Panel控件中. 关闭from窗体的事情需要怎么样写,才能实现通过winAPI获取到句柄窗口放到了Panel控件中. 附上代码(通过winA

C# Graphics对象调用Dispose()方法后,为什么绘制的图像还在?

问题描述 C#中Graphics对象调用Dispose()方法后,为什么窗体绘制的图像还在?Dispose()方法不是已经将Graphics对象清除了吗?请大虾根据这个问题,详细解释下原理,谢谢.GraphicsobjGraphics=null;objGraphics=this.CreateGraphics();objGraphics.Clear(SystemColors.Control);objGraphics.DrawRectangle(Pens.Blue,a.Left-1,a.Top-1,

CentOS 7安装完成后初始化的方法_Linux

1.添加用户 新增名为"wang"的用户 [root@vdevops ~]# useradd wang #添加账户 [root@vdevops ~]# passwd wang #设置密码 Changing password for user wang. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@vdevops ~]# exit #退出

《Effective C++》读书笔记04:确保对象在使用之前被初始化

我自己在写代码的时候也经常会遇到忘记初始化某对象的问题,而且这些错误比较难 以调试,Meyers提出了一些避免这些错误的解决方法: 1.手工初始化所以内置类 型: 这一条很好理解,对于int,enum等内置类型,在使用前一定要初始化. 2.对于类类型等用户自定义的对象,使用成员初值列初始化所有的对象: 1 using namespace std; 2 3 class PhoneNumber{}; 4 class Customer 5 { 6 public: 7 Customer(const st

JavaScript对象创建及继承原理实例解剖_基础知识

对象创建: 当一个函数对象被创建时候,Function构造器产生的函数对象会运行类似这样的代码: 复制代码 代码如下: this.prototype={constructor:this}; 假设函数F F用new方式构造对象时,对象的constructor被设置成这个F.prototype.constructor 如果函数在创建对象前修改了函数的prototype,会影响创建出来对象的construtor属性 如: 复制代码 代码如下: function F(){}; F.prototype={

关于Java SynDemo对象如何解决继承

这是应为在方法级别的synchronized声明将lock这个类对象的当前实例.所以在synMethord1运行结束unlock之前,当前Java SynDemo对象实例是无法运行synMethord2的.这种方法级别的synchronized声明和以下的做法是等同的: 1.package com.cnblogs.gpcuster;/** * * @author Aaron.Guo * */ 2.public class SynDemo { public void synMethord1() {

js对象的复制继承实例

 代码如下: <script type="text/javascript"> Object.prototype.extend = function(obj){  //在函数里,把obj属性复制到自身  for(var k in obj){   if(obj.hasOwnProperty(k)){    if(this[k] == undefined){     this[k] = obj[k];    }   }  } } var kitty = {color:'yello