Objective-C入门03:类和对象

 Objective-C入门03:类和对象



//  如果要使用  Student,必须先引用

//  因为Student 是我们自己定义的类。所以引入要使用 ""

//  注意   引入头文件就可以了,    .m文件不要引入,因为头文件是支配身体的

#import "Student.h"

#import"Car.h"

@interfaceAppDelegate ()

@end

@implementation AppDelegate

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

{

//    指针 * +变量  代表变量是一个指针变量,指针变量带有对象存储的实际内存块区的地址。

//   oc的对象初始化

//    alloc  方法NSObject类型的方法,由于Student继承了NSObject类型,

//     所以就拥有了NSObkect类型的一切,  包括   alloc

//    alloc  作用 就是告诉 cpu我要一所房子,开内存

//    init  对开好的内存块区中存储的对象进行初始化操作。

      Student  * stu = [[Studentalloc ] init ];

//    打印出  学生对象 的详细信息

        [ stu  tallWithOthers  ];


   Car  *  sf = [[Caralloc ] init ];

    [ sfxiaoShi];


    returnYES;

}



 在 Student.h 里面

//  .h     .m文件的作用

// 苹果公司为了程序员查看变量声明,方法的声明,

// 原则上希望大家把变量和方法的声明放在   .h  文件里  把方法的实现放在   .m  文件中实现

// 只有放在   .h 文件中的方法,和变量,才可以被别的对象调用。


//  引入系统框架 Foundation框架中包含了所有oc相关的类,只有引入框架,才能使用框架中的类。

//  #import<> 引入的时系统框架,苹果提供的类

//  #import ""引入的是用户自定义的类

//  c语言使用的是 #include < >

//  #import 可以避免重复包含。  A引入C框架,B也引入C框架。当A引入B的时候,框架A中是引入两次的

//  #import 可以自动取消重复引入的框架,保持永远是引入一次。

#import <Foundation/Foundation.h>


//  @interface   声明类的关键词   可以翻译为接口

//  Student    @interface 关键词后面的就是类 

//  冒号后面的是父类名

//  所有oc的类都要有一个父类  NSObject oc中最基础的类

@interface Student :NSObject

  {   //     添加一个大括号,写类的成员变量   或者叫    类的属性

      //    定义一个整形的变量,用来保存年龄。

      //    @ private@protect@puble oc默认的是  @protect

      //    第一的变量变量名由单词组成,第一个单词首字母要小写,习惯上加一个下划线,表示成员变量

     int _age ;

      //   定义一个浮点型变量,保存身高

     float _height ;

      //   定义一个浮点型变量,保存体重

     float _weight ;

  }  


//   类要使用必须创建代表类的对象,也就是说生成一个  Student 类型的变量,我们管着个过程称为类的实例化。

//   类的初始化方法每个类都必须至少一个初始化方法。

//   符号  -代表方法的类型是 实例方法或者称为 对象方法

//   初始化方法  负责完成对某些变量的赋值。

//   init 翻译为初始化

//   id  是一个泛类型。可以代表任何类型

- (id ) init ;


// 学生友谊方法,可以告诉别人他的信息

// -号代表对象的方法,是又活着的,在内存中的对象 执行的

-  (void )tallWithOthers ;



在 Student.m 里面

//  #import "" 是用户自己建的类型

#import "Student.h"


//@implementation 实现的意思,表示我们这个  .m文件  是用于实现Student的。

@implementation Student

// 方法电费实现必须在  @implementation Student   @end 之间进行


- (id ) init

 {     //  self最简单的理解就是代表self所在的   .m文件

       //  正确理解是   self 是所在的文件,生成的对象。

       //  super  代表父类, 这里具体代表的是  NSObject 的对象。

    self = [superinit ] ;

//     我们把苹果提供的初始化之后的对象拿过来用,我们还需要做一些我们特有的初始化。

     ifself  )   //  self有值的时候,代表初始化成功了。

     {

//         进行本对象的初始化

//          初始化 年龄  --23

        _age = 23;

//         身高

        _height = 172;

//         体重

        _weight = 130;

     }

     returnself ;

 }


-(void)tallWithOthers

{

    NSLog(@"我的身高是%f ,体重是%f ,年龄是%d " ,_height ,_weight ,_age ) ;

}





在 Car.h 里面 

@interface Car : NSObject

{

   int  _shudu;

}

- (id)init;


- (void)xiaoShi;




在 Car.m 里面

#import "Car.h"

@implementation Car

- (id )init

{

   self = [superinit ] ;

   if(self )

    {

       _shudu = 20 ;

    }

    return self ;

}


- (void )xiaoShi

{

   NSInteger time =1000 /_shudu ;

   NSLog(@"需要的时间是%ld" , (long )time ) ;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值