zoukankan      html  css  js  c++  java
  • 黑马程序员——面向对象

    黑马程序员——面向对象

    ------- android培训ios培训、期待与您交流! ----------

     

    ****类的创建以及使用****

    .h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end

    .m:类的实现文件,用于实现.h中声明的方法。类的实现使用关键字@implementaion和@end

    方法:

    方法的声明和实现都必须以“+”“-”开头

    + 表示类方法(静态方法)

    - 表示对象方法(动态方法)

    在.h中声明的所有方法作用域都是public类型,不能更改

    成员变量(实例变量属性):

    @public 全局都可以访问

    @protected 只能在类内部和子类中访问

    @private 只能在类内部访问

     

    类的定义分为两部分

    1)类的声明(规定当前类的:类名、属性、行为)

        @interface  类名:父类名      (NSobject)

        {

         //定义类的属性

        }

        //类的行为

        @end

    2)类的实现(实现具体行为)

        @implementation  类名

        //行为的具体实现

        @end

     方法的实现: 先把方法声明抄过来, 再加个大括号, 在里面写实现代码, 方法内部如果要访问当前对象的成员变量, 直接写变量名字就可以。

    */

     1 //创建一个类,并且创建一个对象,并且用对象访问存储空间的值
     2 
     3 /*创建一个新对象:Car *car=[Car new];*/
     4 
     5 #import <Foundation/Foundation.h>
     6 
     7 //车的类的声明
     8 
     9 @interface Car:NSObject
    10 
    11 {
    12 
    13    //类的属性
    14 
    15    @public;
    16 
    17    int lunzi;//车的轮子
    18 
    19    NSString *color;//车的颜色
    20 
    21    int speed;//车的速度
    22 
    23 }
    24 
    25 //类的行为
    26 
    27 @end
    28 
    29 //类的实现
    30 
    31 @implementation Car
    32 
    33 //行为的具体描述
    34 
    35 @end
    36 
    37 int main (int argc, const char *argv[])
    38 
    39 {
    40 
    41     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];                         
    42 
    43    //创建Car类型的对象car1
    44 
    45     Car *car1=[Car new];
    46 
    47     //创建一个对象,实质还是指针   (用指针间接访问实例变量值)
    48 
    49     car1->lunzi=3;
    50 
    51     car1->speed=150;
    52 
    53     car1->color=@"蓝色";
    54 
    55     //查看车的信息
    56 
    57     NSLog(@"轮子:%d,速度:%d,颜色:%@",car1->lunzi,car1->speed,car1->color); 
    58 
    59     [pool drain];  
    60 
    61     return 0;
    62 
    63 }

    /*OC中对象的创建

    [Car new]; 

       //做了三件事

       1、项计算机申请内存空间

       2、给类中的每一个成员初始化值

       3、返回申请的空间的首地址 

    Car *p=[Car new];

       理解一:

       //定义了一个Car类型的指针变量

       //指针变量指向新申请的内存空间

       理解二:

       //用Car类实例化了一个实例对象,对象的名称是p

    */

     1 //创建一个类,并且创建一个对象,并且用对象访问存储空间的值
     2 
     3 /*创建一个新对象:Car *car=[Car new];*/
     4 
     5 #import <Foundation/Foundation.h>
     6 
     7 //车的类的声明
     8 
     9 @interface Car:NSObject
    10 
    11 {
    12 
    13    //类的属性
    14 
    15    @public;
    16 
    17    int lunzi;//车的轮子
    18 
    19    NSString *color;//车的颜色
    20 
    21    int speed;//车的速度
    22 
    23 }
    24 
    25 //类的行为
    26 
    27 @end
    28 
    29 //类的实现
    30 
    31 @implementation Car
    32 
    33 //行为的具体描述
    34 
    35 @end
    36 
    37 int main (int argc, const char *argv[])
    38 
    39 {
    40 
    41     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];                         
    42 
    43    //创建Car类型的对象car1
    44 
    45     Car *car1=[Car new];
    46 
    47     //创建一个对象,实质还是指针   (用指针间接访问实例变量值)
    48 
    49     car1->lunzi=3;
    50 
    51     car1->speed=150;
    52 
    53     car1->color=@"蓝色";
    54 
    55     //查看车的信息
    56 
    57     NSLog(@"轮子:%d,速度:%d,颜色:%@",car1->lunzi,car1->speed,car1->color); 
    58 
    59     [pool drain];  
    60 
    61     return 0;
    62 
    63 }

    ****无参方法声明及调用****

    方法类型标示符 (返回值类型) 方法名称:

    不带参数的方法

    声明:

    -(返回值类型) 方法名   -(double) pi

    方法调用:[类名或者对象名 方法名];

    ****对象方法与类方法区别****

    对象方法:

       1、对象方法以“-”开头,如-(void) xx;

       2、对象方法只能有对象来说明

       3、对象方法中可以访问当前对象的成员变量

       4、调用格式 [对象名 对象方法名];

     

    类方法:

       1、类方法以“+”开头,如+(void) xx;

       2、类方法只能由类来调用

       3、类方法不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间来存储类中的成员变量

       4、调用格式:[类名 类方法名];

       5、类方法不依赖于对象,执行效率高,能尽量用类方法的尽量用

    */

    ------- android培训ios培训、期待与您交流! ----------

  • 相关阅读:
    VSTO不能创建OFFICE 文档项目的原因
    vs2016 创建 vsto excel 文件项目的一个问题
    一个开发原则:永远不要返回NULL
    客户为什么习惯变更需求
    从实际项目中的一个改进细节谈程序的易用性优化
    第三方系统打开EAFC的实现
    功能间(两个form)数据交互的编程方法
    关于行军模式大批量数据的审批的实现
    程序的升级发布管理
    转:从如何判断浮点数是否等于0说起——浮点数的机器级表示 献给依然 if ( double i ==0.00)的菜鸟们
  • 原文地址:https://www.cnblogs.com/gaozp/p/4900358.html
Copyright © 2011-2022 走看看