iOS- 利用里氏代换原则处理动画类的继承问题

来源:互联网 发布:耳机返听软件 编辑:程序博客网 时间:2024/05/17 07:11
# 关于利用里氏代换原则处理动画类在项目中进行动画的实现的时候,为了方便,通常会创建一个虚类,然后让其子类继承其父类的方法并进行重写,这样,父类便可以让子类进行其初始化,并且父类可以调用其子类的方法。{首先创建一个虚类,这里定义为SourceView,然后创建其两个子类,重写其方法,最后由子类进行初始化初始化出来一个父类的对象,让父类的这个对象调用子类的方法}`////  SourceView.h//  里氏代换原则////  Created by 程磊 on 15/5/14.//  Copyright (c) 2015年 程磊. All rights reserved.//#import <UIKit/UIKit.h>@interface SourceView : UIView/** *  定义一个函数方法,不进行具体的操作 */- (void)show;- (void)hide;@end`////  SourceView.m//  里氏代换原则////  Created by 程磊 on 15/5/14.//  Copyright (c) 2015年 程磊. All rights reserved.//#import "SourceView.h"@implementation SourceView- (void)hide{}- (void)show{}@end`////  SonView1.h//  里氏代换原则////  Created by 程磊 on 15/5/14.//  Copyright (c) 2015年 程磊. All rights reserved.//#import "SourceView.h"@interface SonView1 : SourceView@end`////  SonView1.m//  里氏代换原则////  Created by 程磊 on 15/5/14.//  Copyright (c) 2015年 程磊. All rights reserved.//#import "SonView1.h"@implementation SonView1/** *  重写父类的方法 */- (void)hide{NSLog(@"SonView1 hide");}- (void)show{NSLog(@"SonView1 show");}@end`这样,在viewController中便可以这样进行初始化``////  ViewController.m//  里氏代换原则////  Created by 程磊 on 15/5/14.//  Copyright (c) 2015年 程磊. All rights reserved.//#import "ViewController.h"#import "SourceView.h"#import "SonView1.h"#import "SonView2.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];//定义一个虚类,然后在初始化的时候用其子类进行初始化,这样的话,在进行初始化完成之后可以调用子类的方法SourceView *sourceView = [[SonView1 alloc] initWithFrame:CGRectMake(10, 100, 100, 100)];sourceView.backgroundColor = [UIColor redColor];[self.view addSubview:sourceView];}@end


0 0
原创粉丝点击