【大话设计模式】——浅谈设计模式基础

  初学设计模式给我最大的感受是:人类真是伟大啊!单单是设计模式的基础课程就让我感受到了强烈的生活气息。个人感觉《大话设计模式》这本书写的真好,让貌似很晦涩难懂的设计模式变的生活化,趣味化。

  下面浅谈一下对设计模式基础的理解,如果理解的不好,还请大家指正!

  首先设计模式是对面向对象的更专业的诠释,面向对象的三大基本特征是继承、封装、多态。


继承:

   1.子类继承父类非private的属性和功能。

   个人理解:有几个老婆是私有属性,小明他爸有好几个老婆,小明呢,恰好赶上了国家颁布法律一夫一妻          制(怎么这么衰呢~),那他是不能继承他老爹的私有属性的。他老爹在他的年代(类)里面          是合法的(可调用私有变量)。

   2.子类可扩展父类没有的功能。

   个人理解:原始人不会做饭,现在有了烹饪。

   3.子类可以以自己的方式实现父类的功能

   个人理解:以前取火是钻木取火,现取火可以用打火机了。

  【大话设计模式】——浅谈设计模式基础_第1张图片

多态:

  表示不同的对象可执行相同的动作,但要通过它们自己的实现代码来执行。

   个人理解条条大路通罗马。

  【大话设计模式】——浅谈设计模式基础_第2张图片

  通过什么来实现多态呢?比如方法重载,抽象类,集合,泛型。

  方法重载:提供了创建同名多个方法的能力,但这些方法需要使用不同的参数类型

  【大话设计模式】——浅谈设计模式基础_第3张图片


封装:

  每个对象都包含它能进行操作所需要的所有信息,这个特性成为封装,因此对象不依赖其他对象来完成自己的操作。

 【大话设计模式】——浅谈设计模式基础_第4张图片

封装主要涉及到的知识点是类与实例、属性与修饰符、构造方法、接口、委托。

接口:把隐式公共方法和属性组合起来,以封装特定功能的一个集合。(行为的抽象

委托对函数的封装,是一种引用方法的类型。(把一堆方法打包


VS


区分类和接口:

  1. 类是对象的抽象;抽象类(整体)是对类的抽象;接口(局部)是对行为的抽象。
  1. 如果行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类。
  1. 从设计角度,抽象类是从子类中发现公共的东西,泛化出父类,然后子类继承父类,而接口是根本不知子类的存在,方法如何实现还不确认,预先定义。

区分抽象方法和虚方法:

        1.关键字不同:虚方法是vritual,抽象方法是abstract 

  2. 虚方法可以有方法体,抽象方法没有方法体。

        3.虚方法可以定义在抽象类和非抽象类中,可以写在父类中,在子类别重写,定义虚方法必须实现;抽象方法必须定义在抽象类中,必须写在父类中,在子类中必须被重写,在定义抽象方法时不能实现方法。


区分抽象类和接口:

【大话设计模式】——浅谈设计模式基础_第5张图片


 学习心得:

  1.继承、封装给了我一种大道至简的感觉;多态让我体会到了生活的多姿多彩。

  2.继承、封装、多态跟我们推崇的学习方法也很相似。把重复性的东西加以归纳和总结,将知识变少,不同让我们更好的了解这个事物。

  3.我们需要总结共性的东西,免去了很多无用功;体会个性的东西,解决一个问题可以多角度的思考,这样才有助于锻炼我们的发散思维,提高我们解决未知问题的能力。



你可能感兴趣的:(设计模式,继承,面向对象,多态)