杨庆荣的博客

工作之余接单:公司产品展示网站建设、电商网站建设、小程序、app开发。+86 13714715608

gnustep:object-c继承

点击 27461    创建时间 2012-10-30 22:46:27

<p> <strong>People.h</strong></p> <div class="code">

import &lt;Foundation/Foundation.h&gt;  <br />

@interface People : NSObject<br />
{<br />
    NSInteger age;<br />
    NSString *name;<br />
}<br />
-(NSString*)getName;<br />
-(void)setName:(NSString*)name2;<br />
-(void)setAge:(NSInteger)age2;<br />
-(NSInteger)getAge;<br />
@end</div>

<p> <strong>People.m</strong></p> <div class="code">

import "People.h"<br />

@implementation People: NSObject<br />
<br />
- (NSString*) getName<br />
{<br />
   return name;<br />
}<br />
<br />
- (void) setName:(NSString*) name2<br />
{<br />
   name=name2;<br />
}<br />
-(void)setAge:(NSInteger)age2<br />
{<br />
   age =age2;<br />
}<br />
-(NSInteger)getAge<br />
{<br />
   return age;<br />
}<br />
@end</div>

<p> <strong>Teacher.h</strong></p> <div class="code">

import &lt;Foundation/Foundation.h&gt;  <br />

@interface Teacher : People<br />
{<br />
    NSString *major;<br />
}<br />
-(NSString*)getMajor;<br />
-(void)setMajor:(NSString*)major2;<br />
@end</div>

<p> <strong>Teacher.m</strong></p> <div class="code">

import "Teacher.h"<br />

@implementation Teacher:People<br />
-(NSString*)getMajor<br />
{<br />
  return major;<br />
}<br />
-(void)setMajor:(NSString*)major2<br />
{<br />
  major=major2;<br />
}<br />
@end</div>

<p> <strong>test.m</strong></p> <div class="code">

import &lt;Foundation/Foundation.h&gt;  <br />

#import "People.m"<br />
#import "Teacher.m"<br />
 <br />
int main(int arvc, char* argv[])  <br />
{  <br />
    NSString *domain = @"wudimei.com杨庆荣";<br />
    <br />
    NSLog(@"domain:%@ ,length:%d",[domain uppercaseString] , [domain length]);<br />
    <br />
    People *people= [[People alloc]init];//初始化自定义类People<br />
    NSString *name = [[NSString alloc]init];<br />
    name=@"yqr杨庆荣";<br />
    [people setName:name];<br />
    [people setAge:28];<br />
    NSLog(@"name:%@ , age: %d", [people getName] ,[people getAge]);<br />
    <br />
    Teacher *teacher = [[Teacher alloc]init]; //Teacher类继承自People类<br />
    NSString *major = [[NSString alloc]initWithString:@"math"];<br />
    [teacher setMajor:major];<br />
    [teacher setAge:29];<br />
    NSLog(@"name:%@ , age: %d", [teacher getMajor] ,[teacher getAge]);<br />
    return 0;  <br />
}  <br />
<br />
//gcc -o test test.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base &amp;&amp; ./test.exe<br />
//文件存为utf-8格式<br />
 </div>

<p> 输出结果是:</p> <div class="code"> <span style="color:#008000;">rong@rong-PC ~</span><br /> <span style="color:#ff5500;">$ gcc -o test test.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class<br /> =NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base &amp;&amp;<br /> ./test.exe<br /> 2012-10-30 22:42:14.158 test[4604] autorelease called without pool for object (0<br /> x5dac68) of class GSUnicodeBufferString in thread &lt;NSThread: 0x59b458&gt;<br /> 2012-10-30 22:42:14.189 test[4604] domain:WUDIMEI.COM鏉ㄥ簡鑽?,length:14<br /> 2012-10-30 22:42:14.205 test[4604] name:yqr鏉ㄥ簡鑽?, age: 28<br /> 2012-10-30 22:42:14.220 test[4604] name:math , age: 29</span></div>

上一篇: gnustep写一个类
下一篇: php5.4.8 连接mysql比php5.2.6要慢