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

  初学设计模式给我最大的感受是:人类真是伟大啊!单单是设计模式的基础课程就让我感受到了强烈的生活气息。

个人感觉《大话设计模式》这本书写的真好。让貌似非常晦涩难懂的设计模式变的生活化。趣味化。

  以下浅谈一下对设计模式基础的理解,假设理解的不好。还请大家指正。

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

继承:

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

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

他老爹在他的年代(类)里面          是合法的(可调用私有变量)。

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

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

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

   个人理解:曾经取火是钻木取火,现取火能够用打火机了。

  

多态:

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

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

  

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

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

  

封装:

  每一个对象都包括它能进行操作所须要的全部信息。这个特性成为封装,因此对象不必依赖其它对象来完毕自己的操作。

 

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

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

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

VS

区分类和接口:

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

区分抽象方法和虚方法:

1.keyword不同:虚方法是vritual,抽象方法是abstract 

  2. 虚方法能够有方法体,抽象方法没有方法体。

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

区分抽象类和接口:

学习心得:

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

  2.继承、封装、多态跟我们推崇的学习方法也非常相似。

把反复性的东西加以归纳和总结,将知识变少,不同让我们更好的了解这个事物。

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

时间: 2024-10-13 12:37:53

【大话设计模式】——浅谈设计模式基础的相关文章

浅谈设计模式1-策略模式

对于大多数面向对象的初学者来说,将思维模式从面向过程转变过来是一个比较困难的过程.很多人在用面向对象语言编写程序的时候,依然会感觉自己在用面向过程的思维,笔者分享这篇文章的用意便是希望可以对大家有一些积极的影响. 阅读本文可以是没有接触设计模式,但需要一定的面向对象基础,至少简单理解封装,继承多态. 对于刚开始接触设计模式来说,一开始就说概念性的东西,很少能够理解.所以我们可以先跳过这些,通过一个小的程序场景来进行一个比较直观的认识. 模拟魂斗罗发射子&弹 相信大家小的时候玩过一款叫魂斗罗的游戏

浅谈设计模式的学习(下)

时间过得真快啊,不知不觉又要周末了,借这个周末时间.把<浅谈设计模式的学习(下)>补上吧. 在<浅谈设计模式的学习(中)>中,说到了保持抽象的思维.接下来说一下第四点,做一个分享,也记录一下自己的学习历程. 4.学习设计模式,就不要把它看的太认真    设计模式是一个编程思想,它不是具体的代码套路.举个例子说明一下: 由于家传,接触到了一些中国的传统武术.当我与那些不懂传统武术的人交流的时候,他们总是认为中国的传统武术都是些套路.花架子,只是用来好看.在他们认为,两人打架,别人出拳

浅谈设计模式的学习(中)

在<浅谈设计模式的学习(上)>中我说到了设计模式的基石-----抽象思维.为什么需要抽象思维呢?因为越抽象就越不容易出错,就像有些领导人说话:坚持改革开放.但怎么算坚持改革开放呢,没有具体的标准,因事而异,所以就不容易违背这个坚持改革开放的原则了. 3.学习设计模式,要保持抽象的思维     什么是抽象思维呢?真的不好说,抽象的东西往往难以说明白,听了也难以搞明白,还是通过具体的例子来说吧 有这么一个学生请假的场景,如果请假时间一天以内则有班长批准就可以了,三天以内则需要老师批准,超过三天就得

浅谈设计模式的学习(上)

作为一个开发人员,能写出一个漂亮可扩展的代码,绝对是一件令人愉快的事情.那设计模式就是一门必修课! 本文就自己学习设计模式的一点经历做一个记录. 本人在读大学时,为了学习设计模式就买了一本<java与模式>的数据,书籍有一千多页很重.而且价格不菲.没办法,花那么多钱买的不看岂不浪费.于是每天早上读一章,坚持几个月我终于读完了.这几个月真是煎熬啊,几个月下来,回忆一下似乎自己真得也没收获到什么,很悍然啊.难道是书籍不好吗还是我读的不认真?其实在我现在看来都不是.而为什么读完了却什么也没收获到呢?

浅谈设计模式3-模板方法模式

模版方法模式,个人认为还是用处比较多的一个设计模式,而且也是比较好学和理解的一个.依然来通过模拟一个场景来慢慢了解. 现在我们来实现一下泡茶这个过程.首先我们需要烧开一壶水,然后往茶壶中放茶叶,加入开水,等待茶泡好. 经过前两次的分享,大家应该具备了基本的面向对象的思想了,这里就不再用面向过程的方式演示了. 首先,有一种普通人,他泡茶的方式是这样的 public class Common     { public void MakeTea()         {             Heat

浅谈vr基础视频教程 改变技术革命

对于VR技术的发展应用,是有目共睹的,一个新的技术领域的诞生,现在千锋给大家浅谈vr基础视频教程,改变技术革命. 认知革命发生在几万年前的上古时期,是一个很哲学的话题,聊起来很不接地气.这里讲的认知革命是人们对信息认知方式的革新,比如几千年前人类发明文字时,开启了除语言外的另一种交流工具,这就是认知革命;再如上个世纪互联网的诞生,这是一种通过虚拟介质进行信息交流的方式,也是认知革命. 人们把信息放在网络上,相比写在纸上,是一个跨越式的进步,因为并不是所有的信息.资料都能展现在像纸这样的实体材质上

浅谈设计模式

米老师布置了作业,分析23种设计模式的异同,绞尽脑汁,冥思苦想还是认为初学设计模式,此问题过于高深实在不敢妄语.可是作业始终是要交的,只好浅谈一下设计模式,如理解有误,也算留下了一个底子,日后回头再看,这便是成长. 关于分类,设计模式分为三大类,分别为行为型,创建型,和状态型. 亦有几大原则,分别为:单一职责原则.开放-封闭原则.依赖导致原则.迪米特法则. 总体来说,不论什么模式,都是为了更好的发挥面向对象的思想,来加强类内部的内聚,来降低类与类之间的耦合,尽量做到"高内聚,低耦合",

设计模式浅谈之----设计模式简介

1.何为设计模式 设计模式是一个通过定义.使用和测试去解决特定问题的方法,并且由于设计模式是在面向对象之后为人所知的,基本思想与面向对象不可分割. 在软件工程中,设计模式是一般只在给定条件下会重复性发生问题而提出的一种通用的解决方案. 2.设计模式简史 设计模式的概念在计算机科学领域的普及主要归功于1994年<设计模式:可复用面向对象的软件的基础>,作者GoF(即Erich Gamma.Richard Helm.Ralph Johnson 和 John Vlissides 四人) 3.设计模式

浅谈设计模式之工厂类模式由简单到复杂的演变

前言 在软件设计过程中,我们总是需要创建很多对象,而且系统越庞大,创建的对象越复杂.而今天我们将讨论的就是解决对象创建时的难题--工厂类模式.为了贴近工厂这个词,我们采用工厂建造汽车这个例子来阐明工厂类模式的演变和什么场景下使用什么模式. 场景1.:一位顾客要开车从上海到苏州,他需要一辆汽车,于是他自己组装汽车,给车装轮胎.导航仪.车灯等. 问题:1.显然,顾客只是想拥有一辆汽车,他不想知道怎么去买汽车,更不想知道怎么组装,然后还要给汽车上漆. 2.如果他想换个型号的汽车,他得重新来遍组装汽车.