YIem`s Blog -心比天高命比纸薄-链接找不到的请在站内搜索内容!

2015-11-25- -objective-c-----OC_2方法

//
// main.m
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Person.h"

import "Student.h"

import "CollegeStuent.h"

int main(int argc, const char * argv[]) {
/*

// 定义类-->创建对象->>使用对象
// 1.开辟空间
// 2.初始化
Person *p = [[Person alloc] init];
// 赋值和取值
[p setandget];

// 调用带参数的方法(实参)

[p sayHiWithName:@"随便"];

// 成员变量
// 赋值
[p setName:@"随便名字"];
// 取值
NSLog(@"%@", [p name]);

*/
// 创建对象

if 0

Student *dawa = [[Student alloc] init];
// 赋值
[dawa setName:@"12"];
[dawa setNumber:1];
[dawa setNicheng:@"大娃"];
// 取值
NSLog(@"%@ %ld %@", [dawa name], [dawa number], [dawa nicheng] );

Student *erwa = [[Student alloc] init];
[erwa setName:@"11"];
[erwa setNumber:2];
[erwa setNicheng:@"二娃"];
NSLog(@"%@ %ld %@", [erwa name], [erwa number], [erwa nicheng]);

endif

// 继承使用
// 父类创建
Student *s = [[Student alloc] init];
[s study];
// 子类创建
CollegeStuent *cs = [[CollegeStuent alloc] init];
// 方法查询机制: 先找子类中是否重写 如果没有 找父类 直到根类中 如果还没有 则崩溃(unrecognized selector sent to instance)
[cs study];




return 0;

}



//
// CollegeStuent.h
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Student.h"

// 面向对象三大特性: 继承 封装 多态
// 继承: 子类拥有父类所有的成员变量和方法
// 单(根)继承: 每一个类只有一个父类 唯一一个没有父亲的类是NSObject 叫根类(祖宗类) 包含了所有类都需要的基本信息
// 传递性: A是B的父类 B说C的父类 C中也有A的内容
// 相对性: 父类和子类需要参照物来描述
// 单向性: 已经作为子类的类 不能在成为该类父类的父类
@interface CollegeStuent : Student
{


NSString *_tanLianAi;// 谈恋爱
NSString *_treeNewBee;// 吹牛逼

}
// getter&setter


//
// CollegeStuent.m
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import "CollegeStuent.h"

@implementation CollegeStuent

// 父类重写
// 子类中重新实现和父类中声明的一致的方法 叫做重写

@end



//
// Student.h
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

@interface Student : NSObject
{

NSString *_name;
NSInteger _number;
NSString *_nicheng;

}
// getter&setter


//
// Student.m
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import "Student.h"

@implementation Student

@end



//
// Person.h
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

@interface Person : NSObject
{

// 成员变量
NSString *_name;
NSString *_sex;

//#error duplicate member"_sex"

warning NSInteger等基础类型 一定不要加*

NSInteger _age;
CGFloat _height;
CGFloat _weight;

}
// 方法

// sayHiWithName 参数描述
// : 参数标识
// (NSString *) 参数类型
// name 参数名 /形参

// 方法名: sayHiwithName:age:

// 标准的赋值方法&取值方法
// setter(设置器)&getter(访问器)
// set+首字母大小不带下划线的成员变量名

@end


//
// Person.m
// OC_2方法
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import "Person.h"

@implementation Person

// getter&setter 实现
// setter设置成员变量

// getter返回成员变量

@end

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »