我对定义接口的理解:
面向对象的程序设计在实际编写的过程中是一种面向接口的编程。以我的理解,定义接口就好比交代任务,当一个类接入了一个接口,可以说成他接受了一项任务。在符合规范的的前提下,接任务的人们有各自完成这个任务的途径和方法,结果也会不同,但我们需要的只是这些人上交的结果,而并非这些人本身,或许有些冷淡没有一点人性,但却能有效地减少“人”与“人”之间的依赖,更好地服从于任务本身,从而整个程序在这种没人性的组织和运行下,显现出来的却又是一种生命力。
通过事件监听来理解接口:
A调用B,形象点来说就是将B中的对象或者方法在A类中显示出来,为之所用。
任何一个继承了javax.swing的组件类,只要接入了XXXListener接口,都可以当做是一个监听器,各自实现自己不同的监听动作。
XXXListener接口类里的抽象方法名,代表了所有要实现该接口的监听器类的监听方式,所以它得具有代表性。
addListener(接口 形参)方法在具体被调用的时候,参数中的“接口”其实是接入它的实现类的一个对象,此方法将这个对象保存在一个队列里,将来实现监听的时候只需遍历这个队列分别调用各自的监听方法。
当发生一个事件需要很多的监听器来监听它来实现不同的目的时候,addListener()方法和保存监听器的队列要打包放在处理该事件的类中。
关于低耦合:
“耦合”是对象与对象之间的依赖,高耦合是一种网状交织的结构,低耦合是一种星型结构的理想状态,显而易见后者结构更清晰,方便人们分析理解,易修改,所以要尽量降低它们之间的依赖。
开发一个健壮的程序就像搭建一个由许多积木堆砌的屋子(之所以称之为健壮,是在不考虑人为破坏它的前提下)一样,不仅结构要稳固,当需求不同时,更要易修改,易变化,这就要避免小积木块之间的粘连,所谓牵一发而动全身,粘连着的部分已经移动或者修改,可能导致整个屋子(程序整体)的崩溃。
面向对象的程序设计在实际编写的过程中是一种面向接口的编程。以我的理解,定义接口就好比交代任务,当一个类接入了一个接口,可以说成他接受了一项任务。在符合规范的的前提下,接任务的人们有各自完成这个任务的途径和方法,结果也会不同,但我们需要的只是这些人上交的结果,而并非这些人本身,或许有些冷淡没有一点人性,但却能有效地减少“人”与“人”之间的依赖,更好地服从于任务本身,从而整个程序在这种没人性的组织和运行下,显现出来的却又是一种生命力。
通过事件监听来理解接口:
A调用B,形象点来说就是将B中的对象或者方法在A类中显示出来,为之所用。
任何一个继承了javax.swing的组件类,只要接入了XXXListener接口,都可以当做是一个监听器,各自实现自己不同的监听动作。
XXXListener接口类里的抽象方法名,代表了所有要实现该接口的监听器类的监听方式,所以它得具有代表性。
addListener(接口 形参)方法在具体被调用的时候,参数中的“接口”其实是接入它的实现类的一个对象,此方法将这个对象保存在一个队列里,将来实现监听的时候只需遍历这个队列分别调用各自的监听方法。
当发生一个事件需要很多的监听器来监听它来实现不同的目的时候,addListener()方法和保存监听器的队列要打包放在处理该事件的类中。
关于低耦合:
“耦合”是对象与对象之间的依赖,高耦合是一种网状交织的结构,低耦合是一种星型结构的理想状态,显而易见后者结构更清晰,方便人们分析理解,易修改,所以要尽量降低它们之间的依赖。
开发一个健壮的程序就像搭建一个由许多积木堆砌的屋子(之所以称之为健壮,是在不考虑人为破坏它的前提下)一样,不仅结构要稳固,当需求不同时,更要易修改,易变化,这就要避免小积木块之间的粘连,所谓牵一发而动全身,粘连着的部分已经移动或者修改,可能导致整个屋子(程序整体)的崩溃。