04继承,初始化,指针

一、继承
1.子类可以使用父类的方法和属性
2.子类可以拥有自己的方法和属性
3.父类不能使用子类的方法和属性
4.子类可以重写父类的方法
4.1 不完全重写,子类在父类原有方法的基础上,增添自己的功能
4.2 完全重写,方法名不变,方法体完全改变
5.OC中没有多继承

二、初始化
1.先调用父类的初始化方法
2.判断self是否为空。防止[super init]方法没有执行,导致程序崩溃

#import "People.h"

@implementation People
//初始化方法一
- (id)initWithWeight:(float)weight Height:(float)height
{
    //1.先调用父类的初始化方法
    //super:父类
    //self:本类,当前类
    self = [super init];
    //2.判断self是否为空。防止[super init]方法没有执行,导致程序崩溃
    if (self != nil)
    {
        _weight = weight;
        _height = height;
    }
    return self;
}
@end

三、指针

//
//  main.m
//  Pointer
//
//  Created by mac on 16/2/25.
//  Copyright (c) 2016年 ZHIYOU. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "People.h"
#import "Man.h"
int main(int argc, const char * argv[])
{
    //p是指针。p-->[People alloc]:路牌-->路,路牌是指针。
    //指针:用于指向对象所在的内存地址
    //注意:在同一时刻,一个指针只能指向一个对象(内存地址),不能同时指向多个对象。
    People * p = [[People alloc] init];
    NSLog(@"%@",p);
    p = [[People alloc]init];
    NSLog(@"%@",p);
    
    //多态
    Man * m = [[Man alloc] init];
    //p1是People类型,[Man alloc]的对象是Man类型
    //p1是父类People的指针,[Man alloc]返回的是子类Man的对象
    People * p1 = [[Man alloc]init];
    p1.weight = 10;
    //子类的指针不能指向父类的对象。
    //    Man * m1 = [[People alloc]init];
    NSLog(@"p1.weight = %f",p1.weight);
    
    //每次alloc都是重新创建了一个对象
    //所以[[Man alloc]init].weight的值不是50,而是0.
    //通过指针,如果某个指针不改变指向,那么就可以持续性对对象进行操作;
    //如果没有指针的存在,那么对对象的操作就是一次性的。
    [[Man alloc]init].weight = 50;
    NSLog(@"[Man alloc].weight = %f",[[Man alloc]init].weight);
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,314评论 1 6
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,776评论 0 9
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,890评论 1 10
  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 585评论 0 0
  • 人生旅途中 你是否曾失意过,对万事万物即心灰意冷? 你是否曾无助过,却想方设法也摆脱不了困局? 你是否曾安逸过,钱...
    雯予阅读 210评论 2 2