黑马程序员_毕向东_Java基础视频教程学习笔记(二十二)

时间:2023-02-11 11:39:56

----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------   

package day06;
/*
* 需求:
* 电脑运行实例:
* 电脑运行基于主板。
*
*
*/
/*
class MainBoard{
public void run(){
System.out.println("mainboard run......");
}
public void useNetCard(NetCard nc){
nc.open();
nc.close();
}
}
class NetCard{
public void open(){
System.out.println("netcard open.......");
}
public void close(){
System.out.println("netcard close.......");
}
}
*/
interface PCI{
public void open();
public void close();
}
class MainBoard{
public void run(){
System.out.println("mainboard run......");
}
public void usePCI(PCI p){
if(p!=null){
p.open();
p.close();
}

}
}
class NetCard implements PCI{
public void open(){
System.out.println("netcard open.......");
}
public void close(){
System.out.println("netcard close.......");
}
}
class SoundCard implements PCI{
public void open(){
System.out.println("soundcard open.......");
}
public void close(){
System.out.println("soundcard close.......");
}
}
public class DuoTaiDemo5 {
public static void main(String [] args){
//MainBoard md=new MainBoard(); //这么设计程序没有扩展性
//md.run();
//MainBoard md=new MainBoard();
//md.run();
//md.useNetCard(new NetCard());
MainBoard md=new MainBoard();
md.run();
md.usePCI(null);
md.usePCI(new NetCard());
md.usePCI(new SoundCard());
}
}


package day06;
/*
* 需求:数据库的操作
* 数据是:用户信息
*
* 1、连接数据库
* JDBC Hibernate
* 2、操作数据库
* c create r read u update d delete
* 3、关闭数据库连接
*
*
*
*/
interface UserInfoDao{
public void add(User user);
public void delete(User user);
}
class UserinfoByJDBC implements UserInfoDao{
public void add(User user){
//1、JDBC连接数据库
//2、使用sql添加语句添加数据
//2、关闭连接
}
public void delete(User user){
//1、JDBC连接数据库
//2、使用sql删除数据
//2、关闭连接
}
}


class UserinfoByHiberate implements UserInfoDao{
public void add(User user){
//1、Hibernate连接数据库
//2、使用sql添加语句添加数据
//2、关闭连接
}
public void delete(User user){
//1、Hibernate连接数据库
//2、使用sql删除数据
//2、关闭连接
}
}

class User{

}

public class DBOperate {
public static void main(String [] args){
//UserinfoByJDBC ui=new UserinfoByJDBC();
//ui.add(user);
//ui.delete(user);
//UserInfoDao ui=new UserinfoByJDBC();
//ui.add(user);
//ui.delete(user);
//
//UserInfoDao ui1=new UserinfoByHiberate();
//ui1.add(user);
//ui1.delete(user);
}
}


package day06;
/*
* Object:是所有对象的直接或者间接父类,传说中的上帝
* 该类中定义的肯定是所有对象都具备的功能。
*
* Object类中已经提供了对对象是否相同的比较方法。
* 如果自定义类中也有比较相同的功能,没有必要重新定义
* 只要沿袭父类中的功能,建立自己特有的比较内容即可,这就是覆盖。
*
*/
class Demo{//extends Object
private int num;
Demo(int num){
this.num=num;
}
//public boolean compare(Demo d){
//return this.num==d.num;
//}
public boolean equals(Object obj){//Object obj(d2)=new Demo();
if(!(obj instanceof Demo)){
return false;
}
Demo d=(Demo)obj;
return this.num==d.num;
}
}

public class ObjectDemo {
public static void main(String [] args){
Demo d1=new Demo(4);
Demo d2=new Demo(6);
System.out.println(d1.equals(d2));

}
}

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流!  ----------------------