http://oldboy-bj.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
20世纪80年代就出现了Objectvie-C.
千年万精油  hello Objective-C
#import<Foudation/Foundation.h>            //告诉编译器查看Fondation框架中的Foudation.h头文件。
int main(int argc,const char*arg【】)

     NSLog(@“hello,Object-C!”);     // NSLog()接受一个字符串作为其第一个参数作为其第一个参数,
                                                             该字符串包含格式说明符         
                                                      return(0);
   }//main
.m----object-C   .c-----c编译器  .cpp-----C++    .m代表message
所有这些编译工作由GCC(GNU Compiler Colection)
NS前缀说明函数来自cocoa工具包。
@说明引用的应该作为Cocoa的NSString元素来处理
NSString功能:
1告知其长度;2将自身与其他字符串比较;3将自身转换为整形值或浮点值。
  BOOL不是true和false而是yes和no
BOOL areIntsDifferent(int tihng1 int thing2)   //接受两个整形参数,返回BOOL值。、
{
   if(thing1==thing2){                           reture(NO);
   }else{
   return(yes);
   }
NSString *boolString(BOOL yesNo){              
//boolString()返回的类型是一个指向NSString的指针
if(yesNo==No){
    return(@"No");}
else{
    return(@"Yes")
}
}
int main(int argc,const char *argv[])
{
BOOL areTheyDifferent(5.5);
NSLog(@"are%d and%d differnt?%@",    //%d=5,%@=boolString(areTheyDifferent)
5.5.boolString(areTheyDifferent));
BOOL areTheyDifferent(23.542;
NSLog(@"are%d and%d differnt?%@",
23.42.boolString(areTheyDifferent));
return(0);
)


oop
1.Indirection.
#import<Foundation/Foundation.h>
int main(int argc,const char*arg【】)
{
   NSLog(@“The numbers from 1 to 5:”);
   int i;
   for(i=1;i<=5;i++){                              //添加一个间接层,用count代替5,这样就可以方便修改,变量的间接。
      NSLog(@"%d\n",i);
   }
   return(0);
}

2
#import<Foundation/Foundation.h>
int main(int argc,const char*arg【】)
{
   const char *words【4】={"abcde","def","jxyzs","kl"};
   int wordCount=4;
   int i;
   for(i=0;i<wordCount;i++)
      {
      NSLog(@"%s is %d characters long",words[i],strlen(words[i]));
      }
   return(0);
}


3.现在可以开始oop 了
类:一种结构,表示对象的类型;
对象:一种结构,它包含值和指向其他类的隐藏指针;
实例:比如circle对象也可以称作circle类的一个实例;
消息:对象可以执行的操作;
方法:响应消息而运行的代码;消息可以调用多个方法;
接口:是对象的类应该提供特性的描述;
实现:是使接口正常工作的代码;

。。下面来一个标准的OOP
#interface Circle:NSObject      //这是为命名为Circle的新类定义的接口。
{
   ShapeColor fillColor;
   ShapeRect bounds;
}
-(void)setFillColorshapeColor)fillColor;                  //(返回值) 方法 :(参数类型 )参数
-(void)setBoundsshapeRect)bounds;
-(void)draw
@end

#implementation Circle                                     //定义类的公共接口。
-(void)setFillColorshapeColor) C
{
   fillColor=C;
}
-(void)setBounds;(shapeRect)b
{
    bounds=b
}
-(void)draw;
{  
   NSLog(@"drawing a circle at(%d %d %d %d) in %@"),
   bounds.x,bounds.y,bounds.widh,bounds.height,
   colorName(fillColor);
}
@end

int main(int argc,const char *argv[])    //实例化,
{
   id shapes[3];

   ShaeRect rect0={0.0.10.30};
   shapes[0]=[Circle new];
   [shapes[0] setBounds: rect0];
   [shapes[0] setFillColor:kRedColor];

   ShaeRect rect1={30.40.50.36};
   shapes[1]=[Rectangle new];
   [shapes[1] setBounds: rect1;
   [shapes[1] setFillColor:kGreenColor];

   ShaeRect rect2={15.19.37.29};
   shapes[2]=[OblateSphereoid new];
   [shapes[2] setBounds: rect2];
   [shapes[2] setFillColor:kBlueColor];
  
  drawShapes (shapes.3);
   return(0);
}

本文转自www.35java.com

posted on 2011-01-03 19:25  老男孩咖啡  阅读(167)  评论(0编辑  收藏  举报