为什么覆写acitivy的onCreate方法后,可运行andriod程序?

框架的概念
  • 框架就是:抽象与衍生
  • 最典型的框架:MVC

1.model物件负责管理资料,它可对应到数个view物件,每个view物件显示出model物件的某一方面

2.每个view物件有一个对应的control物件,负责解释使用这输入的讯息

3.使用者输入讯息时,controller依讯息去要求model处理文件资料,也会要求view物件更新画面

4.model物件中的资料更新了,model物件会通知各contollerview物件,各view物件从model取得新资料,更新

  • 什么是框架?

应用程式(总裁)框架(经理)OS(店员)使用者(顾客)

使用框架,极大的减少了应用程式的负担


应用框架魅力的源泉

  • 框架中的函数,能呼叫应用程式的函数
  • 应用框架诞生时,应用程式尚未诞生,但有时候前辈可预知晚辈中的函数,就可呼叫它

1.框架预先定义许多“预设”函数,即依照惯例而设定之函数

2.主要工作:设计函数供框架呼叫,这些函数修正或取代框架中的函数

3.如果程序中的函数已修正或取代预设函数,则呼叫程式中的函数;反之呼叫预设函数

为什么覆写acitivy的onCreate方法后,可运行andriod程序?

  • 反向控制(IOC)

前辈拥有主动权,控制后辈的情形,成为“反向控制”

父类提供一些通用,且不完整的函数,有应用程序来实现。而框架里的父类别的函数“反向”呼叫子类别里的函数

  • 依赖注入
为什么覆写acitivy的onCreate方法后,可运行andriod程序?

1.Factory掌握了应用程式物件的生命周期,含有应用程式以及参数,也就是包含了应用程式之物件。所以,这种裤架又统称为Container

2.在建立物件之刻,也呼叫应用物件的Setter函数,建立出DocumentInterger两个物件的相依关系。即应用组件之间的相互关系是掌握在框架手中。

3.这种由框架替应用程式注入相依关系,免除了应用物件之间的相依关系,称为依赖注入。


android onCreate方法,如图

为什么覆写acitivy的onCreate方法后,可运行andriod程序?

调用bird.paint()时,调用到了父类的paint()方法,进而调用子类的onPaint()方法,子类呼叫父类的方法