2016的路程--写给自己

来源:互联网 发布:mac电脑查看ip地址 编辑:程序博客网 时间:2024/04/20 13:03

       一个学期也就这样过去了,每天保持至少4小时的联系android,还是有一些收获的,至少编程觉得简单了。2016年,寒假的临来,多了一份无趣,在家了,也就只有一个人,好吧,那就只要拿cdsn来写点东西花费一些时间吧!也巧好,正是新的征程之后大概的3个月,呵呵。

      android的基础的东西,前几天刚刚看完,稍微有点不知所措的感觉,应为感觉自己编写一些大的东西好难好难,没有设计思路,整体的框架,而且对于android还有很多的 知识点没有接触过,好心累 的感觉。

      网上大概的看了一下,android学习方向,java-java web-.....。-android.......好吧,我也不知道对不对,学了总是没错的,毕竟当初学android直接跳过了java ,想想当初我是怎么坚持学下来的,想想自己都觉得心酸,当初,继承,抽象,接口,类,,,都不懂,百度的吧!(给自己默默点个赞),现在就回过来看java的书《Head First  java》,看起来好轻松,和android的知识相互对证,感觉收获太多太多,毕竟当初是认识的过程,很多知识点都是点到为止,比较模糊,现在是认知的经历吧,稍微深入了一些。好了,开始写基础的内容吧!


<java>

1.对象声明、创建与赋值        Dog MyDog = new  Dog();  <Dog MyDog 声明一个引用变量>、<new Dog()创建对象>、<=连接对象和引用> 

2.引用 类型和对象的类型必须相符,即两者都是Dog,但在多态的下,引用与对象可以是不同的类型   Animal  myDog = new Dog();(但是myDog不再是Dog对象,不具备Dog的本质)

但是呢,这样写会觉得比较奇怪:Animal animal = new Animal();相同的类型,但是哪有一种叫做Animal的动物,故有些类不应该被初始化,自然的就涉及了抽象类,同样的想到了android动画这一块也是如此,当初再想为什么没有Animation animation = new Animation()或者 Animator anim = new Animator()抽象类就该如此吗?而是要让你自定义,或者TrasnlationAnimation,AlphaAnimation,ObjectAnimator。。。现在。。soga。(抽象类除了被继承过之外,是没有用途,没有值,没有目的),那么抽象方法呢?为什么要有抽象方法:没有办法作出给任何子类都有意义的共同程序代码,抽象方法的意义是就算无法实现出方法的内容,但还是可以定义出一组子型共同的协议,好处就是多态!再次想到了Animation类中有个protected void applyTransformation(float interpolatedTime, Transformation t) { };虽然没有声明abstract 但是同样的没有具体的实现内容,感觉完全可以写成抽象方法,自定义animation总是要重写applyTransformation,毕竟自定义的动画都是不同的就形成各种各样的动画,(之前感觉奇怪为什么applyTransformation为什么没有具体的实现内容,为什么自定义的动画运行时会不断的调用这个方法,现在知道了,动画要交付给View去实现,view会不断地 调用getTranslation方法,这个方法内有applyTranslation自然就会不断地执行每次都偏移量了,偏移的方式太多太多,故而没有给出具体的内容,让继承者重写这个方法,)

3.拿animal类来说,有些事他还是不能全部具备的,比如,我想在animal中添加一个条约:宠物。方法?:

1)、把宠物的方法添加到Animal类中?那继承的时候,要是河马怎么办?河马是宠物?不行!

2)、那就抽象呗,全被覆盖?会不会太浪费时间了,而且你听说过老虎也有宠物的行为外观吗?太伤宠物了。(人类有人妖也要全部覆盖,声明我不是。。太无语了)

3)、把方法加到需要的地方?那这还是多态吗?还是条约吗?还得为每个宠物设计。

呼!接口就这样出来了,(多态。多态。多态)想想为什么View为什么不直接onClickListener(如果想要定义出类可以扮演的角色,使用接口)

好了,简单告一段落。明天无聊再码,继续看书,练习。



0 0