• iOS——OC——OC中的类和类方法的创建、调用 以及什么是OC对象


    先定义类,再创建对象,后使用。
     
      (1)类接口 (.h文件)
    (2)类实现  (.m文件)
    (3)应用程序(main)
    OC是面向对象的编程!
     
    面向过程编程:分析解决问题的步骤,实现函数,依次调用。
    面向对象编程:分解问题组成的对象,具有可扩展性,可重用性协调对象之间的联系和通信。解决问题
     
    一.类:
    一批有共同特点的事物。类是对象的类型
     
    二.对象:
    对象是类的实例。
    面向对象的三个特征:封装,继承,多态。
    三.类和对象

    1.类和对象是面向对象的核心

    2.定义类,创建对象,使用对象。

    3.类是具有相同特征和行为的事物的抽象

    4.对象是类的实例

    5.类是对象的类型

    #import <Foundation/Foundation.h>//导入头文件;

    int main(int argc, const char * argv[]) {
        @autoreleasepool {          //自动释放池;
            NSLog(@"Hello, World!");//@是字符串的标志;
        }                           //oc里打印字符串,用%@
        return 0;
    }
    在.h文件中声明成员变量(特征),成员变量的声明,必须放在大括号里。
    OC中方法(行为)的声明:
    -/+(返回值类型) 方法名 
     
    在.m文件中主要做方法的实现,告诉别人,这个方法能做什么。
    实现的格式:
    -(返回值类型) 方法名 {  }
     
    使用一个类,需要首先导入其头文件(.h)
    创建对象(实例一个对象);
    类名*   变量名 = [[ 类名 alloc] init ];
       例:Student *stu = [[Student alloc]init];
    实例方法的调用  [对象名  方法名 ];
     
    例:
    (1)
    类接口:
    #import <Foundation/Foundation.h>
    @interface Car : NSObject
    {   //成员变量默认的权限是受保护的,也就是说,只有本类文件可以使用
        @public//共有的,谁都可以访问
        NSString *mark;
        float price;
        NSString *color;
    }
    -(void)car;
    -(void)function;
    -(void)busload;
    @end
    类实现:
    #import "Car.h"
    @implementation Car
    -(void)car
    {
        NSLog(@"我是:%@汽车我的价格是:%.2f我是%@颜色!",mark,price,color);
    }
    -(void)function
    {
        NSLog(@"我会跑!");
    }
    -(void)busload
    {
        NSLog(@"我能载7个人!");
    }
    @end
    主程序:
    #import <Foundation/Foundation.h>
    #import "Car.h"
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Car* car=[[Car alloc]init];//创建对象(实例一个对象)
             //类名 *变量名 = [[类名 alloc] init];
            car->mark=@"法拉利";//初始化(给成员变量赋值)
            car->price=100000000;
            car->color=@"yellow";
            //实例方法(-开头)的调用:[对象名 方法名];
            [car car];
            [car function];
            [car busload];
        }
        return 0;
    }
    运行结果:
    2015-10-19 16:46:25.739 10.19 car[1940:104456] 我是:法拉利汽车我的价格是:100000000.00我是yellow颜色
    2015-10-19 16:46:25.740 10.19 car
    [1940:104456] 我会跑!
    2015-10-19 16:46:25.740 10.19 car[1940:104456] 我能载7个人!
    (2)
    类接口:
    #import <Foundation/Foundation.h>
    @interface Teacher : NSObject
    {   //成员变量默认的权限是受保护的,也就是说,只有本类文件可以使用
        //@public公有的,都可以访问;
        NSString *name;
        int age;
    }
    -(NSString*) name;
    -(int) age;
    -(void)setName:(NSString*)input;
    -(void)setAge:(int)input;
    -(void)sleep;
    -(void)walk;
    @end
    类实现:
    #import "Teacher.h"
    @implementation Teacher
    -(NSString*) name
    {
        return name;
    }
    -(int) age
    {
        return age;
    }
    -(void) setName:(NSString *)input
    {
        name = input;
    }
    -(void) setAge:(int)input
    {
        age = input;
    }
    -(void)sleep
    {
        NSLog(@"我不瞌睡!");
    }
    -(void)walk
    {
        NSLog(@"我坐车!");
    }
    @end
    主程序:
    #import <Foundation/Foundation.h>
    #import"Teacher.h"
    int main(int argc, const char * argv[])
    {
        @autoreleasepool
        {   Teacher* teacher = [[Teacher alloc]init];
            [teacher setName:@"张三"];
            [teacher setAge:45];
            NSLog(@"我的名字是:%@",[teacher name]);
            NSLog(@"我的年龄是:%i",[teacher age]);
            [teacher sleep];
            [teacher walk];
        };
        return 0;
    }
    运行结果:
    2015-10-19 17:03:58.885 10.19 课堂练习[2115:112558] 我的名字是:张三
    2015-10-19 17:03:58.887 10.19
    课堂练习[2115:112558] 我的年龄是:45
    2015-10-19 17:03:58.887 10.19
    课堂练习[2115:112558] 我不瞌睡!
    2015-10-19 17:03:58.887 10.19 课堂练习[2115:112558] 我坐车!
    感谢您的访问! 若对您有帮助或有兴趣请关注博客:http://www.cnblogs.com/Rong-Shengcom/
  • 相关阅读:
    条件注释判断浏览器版本<!--[if lt IE 9]>
    动态加载js、css 代码
    C趣味题目
    shell脚本
    Logiscope学习网址
    将double型小数点后面多余的零去掉
    qt和makefile学习网址
    微软推出的工作流引擎
    java例子
    js 定义hash类
  • 原文地址:https://www.cnblogs.com/Rong-Shengcom/p/4933032.html
Copyright © 2020-2023  润新知