继承与BaseActivity的抽取

(未完待续)关于继承的理解:

继承就相当于遗产一样,可以直接拿来用;父类中的东西相当于公有的。

 

继承的作用:

1子类继承父类是增强代码复用性和统一性,在写子类的时候不必重复写一些代码。特别是对于BaseActivity中的内容,关于布局、对话框的继承,在BaseActivity中抽取一些公用的东西。

2、父类引用指向子类对象提高了程序可扩展性,如程序中有Dog d=new Dog();如果什么时候想用猫了改动就比较大了,但是如果Animal d=new Dog();想用猫就只需要改这一句Animal d=new Cat();,程序后面的方法都不用改。(继承可以实现多态,可把相对具体的对象赋给相对抽象的引用。)

3、父类引用子类是为了使父类拥有更强的功能而不用重写父类方法(因为发现某个子类已经实现了某些功能)。

 

在BaseActivity中一般抽取和封装哪些东西?

常用对话框、状态栏的颜色改变、后退键、键盘的显示与隐藏、生命周期方法(管理activity)、事件分发、find控件、fragment等  


对父类进行多层封装(第一层封装、第二层封装)

软键盘、关于网络的重构


package com.example.tuhuadmin.fanxinglei.widget;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Toast;

import com.example.tuhuadmin.fanxinglei.R;
import com.example.tuhuadmin.fanxinglei.utils.StatusBarUtil;

/**
 * Created on 2016/8/1.
 * Author:crs
 * Description:抽取父类
 */
public class BaseActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setStatusBar();
    }
    
    //设置状态栏的颜色
    private void setStatusBar() {
        StatusBarUtil.setColor(this, getResources().getColor(R.color.color_status_bar));
    }

    //Toast
    public void showToast(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }

    //自定义对话框
    public void showDialog(Context context, String text) {

    }

    //初始化控件 强制类型转化、泛型通配符的使用
    protected <T extends View> T findView(int id) {
        return (T) findViewById(id);
    }

    //返回键
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        return super.onKeyDown(keyCode, event);
    }

    //软键盘的显示与隐藏
    //消息机制的抽取
    //事件分发的抽取
    //生命周期方法中关于Activity的管理
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值