3 也许在明天

尚未进行身份认证

每一次的选择,不要勉强自己,但是选择了,就要坚持下去,因为坚持下去,才能有抵达终点的可能。

等级
TA的排名 12w+

普通类,抽象类和接口之间的区别

一、普通类、抽象类和接口区别:1. 普通类可以实例化,接口都不能被实例化(它没有构造方法),抽象类如果要实例化,抽象类必须指向实现所有抽象方法的子类对象(抽象类可以直接实例化,直接重写自己的抽象方法),接口必须指向实现所有所有接口方法的类对象。2. 抽象类要被子类继承,接口要被子类实现。3. 接口只能做方法的声明,抽象类可以做方法的声明,也可以做方法的实现。4. 接口里定义的变量只...

2020-01-30 18:06:21

接口,虚方法,抽象方法

抽象方法是只有定义、没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写;虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖。重写的子类虚函数就是被覆盖了。抽象方法使用abstract关键字 public abstract bool Withdraw(…);抽象方法是必须被派生类覆写的方法。抽象方法是可以看成是没有实现体的虚方法如果类中包含抽...

2020-01-16 09:21:09

C#之七层登录

在三层基础之上,延伸出了七层,把UI层,BLL层和DAL之间的耦合度(联系紧密程度)又进一步的降低,先来看一下简略包图,看看它们之间的关系:从这个包图上可以看见,增加了外观层,接口层,抽象工厂层,实体层,实体层可以看做是三层里的Model层,从结果上来看,它们的功能是相似的。外观层主要是把UI层和BLL层分离;抽象工厂加反射主要是为了更换数据库的方便性,同时把DAL层中的类转换成IDA...

2020-01-09 11:46:26

C#之三层登录

最近学习了三层结构,这三层结构分别是界面层(User Interface layer),业务逻辑层(Business Logic Layer),数据访问层(Data access layer)。为什么要分层,从官方角度来说就是降低前台于后端之间的耦合度,解释一下就是前台指界面层,后台可以理解为数据库,如果没有中间的逻辑层和数据访问层来分解的话,所有的事情基本上都是界面层在干,好比一个公司只有一个员...

2020-01-09 11:18:26

设计模式之工厂方法

工厂方法定义:这是设计模式中创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。主要意图:创建对象的接口,让实现该接口的类决定要实例化哪个类。解决问题:接口选择应用地点:明确地计划不同条件下创建不同实例时。注意事项:作为创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。...

2020-01-08 08:02:18

设计模式之外观模式

外观模式定义:隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。主要意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。解决方案:客户端不与系统耦合,外观类与系统...

2020-01-08 08:02:07

2019-年终总结

时光荏苒,日月如梭,愕然回首2019年已经过去了,在过去的365天里,一半的时间在学习基础知识,并且以名列前茅的成绩从中学部毕业。回顾2019年半载的时光,学习基础的知识是非常的必要,毕竟若没有牢固的基础,又怎么可能建成高层大厦呢?回想当初学习的时光,常常对学习是迷茫的,然而总有人说,这是前进的垫脚石,如果没有垫脚的石头,又如何持续的向前呢?大多数人都是这么说的,比自己年长的人也是如此说的,比...

2020-01-01 20:17:12

设计模式之原型模式

原型模型定义:用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建模式,它提供了一种创建对象的最佳方式。主要意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决:在运行期建立和删除原型。解决方法:利用已有的一个原型对象,快速生成和原型对象一样的实例优点:1、如果创建新的对象比较复杂时,可以利用原型模式简化对象的创建过程,同时也能够提高效率。...

2019-12-10 08:07:54

设计模式之模板方法模式

模板方法模式的定义:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决:一些方法通用,却在每一个自类都重写了这一方法。解决方案:将这些通用算法抽象出来。优点:1、封装不变部分,扩展可变部分;2、提取公共代码,便于维护;3、行为由父类控制,子类实现。缺点:每一个不同的实现都需要一个子类来...

2019-12-10 08:07:45

设计者模式之建造者模式

建造者模式定义:使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。主要意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它...

2019-12-10 08:07:38

设计模式之状态模式

状态模式定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。。这种类型的设计模式属于行为型模式。主要意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。解决方案:将各种具体的状态类抽象出来。优点:1、封装了转换规则。2、枚举可能的状态,在...

2019-12-10 08:07:32

设计模式之适配器模式

适配器模式定义:将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。主要解决:在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。解决方案:继承或依赖(推荐)。优点:1、可以让任何两个没有关联的类一起运行。2、提高了类的复用...

2019-12-10 08:07:20

设计模式之备忘录模式

备忘录模式定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。该模式属于行为型模式。主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。解决方案:通过一个备忘录类专门存储对象状态。优点:1,提供...

2019-12-10 08:07:15

设计模式之组合模式

组合模式定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。主要意图:将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使...

2019-12-10 08:07:06

设计模式之单例模式

单例模式:就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。主要意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。解决方案:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。优点:1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。2...

2019-12-10 08:06:59

设计模式之命令模式

命令模式:是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。主要意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,...

2019-12-10 08:06:51

设计模式之观察者模式

观察者模式定义:当一个对象被修改时,则会自动通知它的依赖对象。这种模式属于行为型模式。主要意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用性和低耦合,保证高度协作。解决方案:使用面向对象技术,可以将这种依赖关系弱化。优点:1,观察者和被观察者,是抽象耦合...

2019-12-07 22:24:37

设计模式之抽象工厂模式

抽象工厂模式定义:围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。主要意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:接口选择的问题。解决方案:在一个产品族里面,定义多个产品。优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中...

2019-12-07 22:24:21

设计模式之迭代器模式

迭代器模式:是编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。主要意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。主要解决:不同的方式来遍历整个整合对象。解决方案:把在元素之间游走的责任交给迭代器,而不是聚合对象。优点:1、它支持以不同的方式遍历一个聚合对象。2、迭代...

2019-12-07 22:24:16

设计模式之桥接模式

桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式。主要意图:将抽象部分与实现部分分离,使它们都可以独立的变化。主要解决:在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。解决方案:把这种多角度分类分离出来,让它们独立变化,减少它们之间耦合。优点:1、抽象和实现的分离。2、优秀的扩展能力。3、实现细节对客户透明。...

2019-12-07 22:24:06

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。