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] 我坐车!
posted @ 2015-03-23 13:59  #零下一度&  阅读(548)  评论(0编辑  收藏  举报