|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。 比来进修php(做为如今的主流开辟言语)5接口的过程当中碰到了坚苦 ,书中说是完成多重承继的一种体例,但我仍然不晓得详细该若何完成。在网上查php(做为如今的主流开辟言语)接口的材料很少,就查了java的,其实根基上都差不多。看完《廓清Java(接口与承继)》这篇文章才豁然开朗,本来我一入手下手了解就有误,所谓的多重承继是指接口承继类,而不是类承继接口。
文章中提到了OO的笼统,正如文章中的那句话――"笼统就是抽去像的局部",很抽象,之前想到笼统老是以为很难了解,笼统嘛,哈哈,如今就很轻易了解了,这也恰是接口和笼统类所要做的工作。
文章中还有良多概念也让我受益不浅,枚举以下:
OO的精华,我觉得,是对对象的笼统。
接口的感化,一言以蔽之,就是标记类的种别(type of class)。把分歧类型的类归于分歧的接口,可以更好的办理他们。
承继的意义也在于笼统,而不是代码重用。
看完这篇文章,如今根基上了解接口、笼统类、承继该若何使用了。
原文以下:
廓清Java(接口与承继) 盘算机学院研二的兄弟与我会商Java,一会晤,几个成绩满是关于接口,接口有甚么用?为何要用接口?甚么时分该利用接口?很光荣他们不是问我Java若何毗连sql server(WINDOWS平台上壮大的数据库平台),或是若何开辟J2EE使用,这类成绩有杀伤力,避之则吉。往年盘算机学院本科有个卒业设计课题是做J2ME,选这个标题的先生在5月末都还在苦着脸研讨java.util.*这个包,这个这个……唉。
大多半人以为,接口的意义在于顶替多重承继。尽人皆知Java没有c++那样多重承继的机制,然而却可以实作多个接口。其实如许做是很牵强的,接口和承继是完整分歧的器材,接口没有才能取代多重承继,也没有这个责任。接口的感化,一言以蔽之,就是标记类的种别(type of class)。把分歧类型的类归于分歧的接口,可以更好的办理他们。OO的精华,我觉得,是对对象的笼统,最能表现这一点的就是接口。为何咱们会商设计形式都只针对具有了笼统才能的言语(好比c++、java、c#等),就是由于设计形式所研讨的,实践上就是若何公道的去笼统。(cowboy的名言是“笼统就是抽去像的局部”,看似奚弄,实甚至理)。
设计形式中最基本的是工场形式(Factory),在我比来的一个很复杂的使用中,我想尽可能的让我的法式可以在多个数据库间移植,固然,这触及良多成绩,单是若何兼容分歧DBMS的SQL就让人头痛。咱们无妨先把成绩复杂化,只思索若何毗连分歧的数据库。
假定我有良多个类,分离是MySQL(和PHP搭配之最好组合).java、SQLServer.java、Oracle(大型网站数据库平台).java、DB2.java,他们分离毗连分歧的数据库,一致前往一个Connection对象,而且都有一个close办法,用于封闭毗连。只需求针对你的DBMS,选择分歧的类,就能够用了,然而我的用户他会利用甚么数据库?我不晓得,我但愿的是尽可能少的修正代码,就可以知足他的需求。我可以笼统以下接口:
package org.bromon.test;
public interface DB
{
java.sql.Connection openDB(String url,String user,String password);
void close();
}
这个接口只界说两个办法,没有任何有实践意义的代码,详细的代码由实作这个接口的类来给出,好比MySQL(和PHP搭配之最好组合).java:
Package org.bromon.test;
import java.sql.*;
public class MySQL(和PHP搭配之最好组合) implements DB
{
private String url=”jdbc:MySQL(和PHP搭配之最好组合):localhost:3306/test”;
private String user=”root”;
private String password=””;
private Connection conn;
public Connection openDB(url,user,password)
{
//毗连数据库的代码
}
看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢? |
|