A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© keys 中级黑马   /  2015-3-28 00:37  /  500 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 keys 于 2015-3-28 00:41 编辑

五、多态的主板示例(多态与接口的结合,对应着视频看,好好理解)
(1)/*
  需求:
  电脑运行实例
  电脑运行基于主板

*/

/*class MainBoard{
        public void run(){
                System.out.println("mainboard run");
        }
        public void useNetCard(NewCard c ){
                c.open();
                c.close();
        }
}

class NewCard{
        public void open(){
                System.out.println("NewCard open");
        }
        public void close(){
                System.out.println("NewCard close");
        }
}*/

interface PCI{
        public void open();
        public void close();
}

class MainBoard{
        public void run(){
                System.out.println("mainboard run");
        }
        public void usePCI(PCI p){  //PCI P = new NetCard();
                if(p!=null){
                        p.open();
                        p.close();
                }
       
        }
}

class NewCard implements PCI{
        public void open(){
                System.out.println("NewCard open");
        }
        public void close(){
                System.out.println("NewCard close");
        }
}

class SoundCard implements PCI{

        @Override
        public void open() {
                System.out.println("SoundCard open");
               
        }

        @Override
        public void close() {
                System.out.println("SoundCard close");
               
        }
       
}


class DuoTaiDemo{
        public static void main(String[] args) {
                MainBoard mb = new MainBoard();
                mb.run();
                mb.usePCI(null);
                mb.usePCI(new NewCard());
                mb.usePCI(new SoundCard());
        }
       
}

(2)需求:数据库操作

/**
需求:数据库的操作
数据是:用户信息。
1.连接数据库。 JDBC Hibernate
2.操作数据库。
c create r read u update d delete
3.关闭数据库连接。

**/

interface UserInfoDao{
        public void add();
        public void delete();
}

class User{
        public void use(){
                System.out.println("use");
        }
       
        public void useDao(UserInfoDao dao){
                if(dao !=null){
                        dao.add();
                        dao.delete();
                }
        }
}

class UserInfoByJDBC implements UserInfoDao{
        public void add(){
                //1.连接数据库
                //2.使用sql添加语句添加数据。
                //3.关闭连接
               
        }
       
        public void delete(){
                //1.连接数据库
                //2.使用sql删除语句添加数据。
                //3.关闭连接
        }
               
}

class UserInfoByHibernate implements UserInfoDao{
        public void add(){
                //1.Hibernate连接数据库
                //2.使用sql添加语句添加数据。
                //3.关闭连接
               
        }
       
        public void delete(){
                //1.Hibernate连接数据库
                //2.使用sql删除语句添加数据。
                //3.关闭连接
        }
}


class DBOperate{
        public static void main(String[] args) {
                //UserInfoByHibernate uj = new UserInfoByHibernate();
                User use = new User();
                use.use();
                use.useDao(new UserInfoByHibernate());
                use.useDao(new UserInfoByJDBC());
               
        }
       
}

/**
需求:数据库的操作
数据是:用户信息。
1.连接数据库。 JDBC Hibernate
2.操作数据库。
c create r read u update d delete
3.关闭数据库连接。

**/

interface UserInfoDao{
        public void add();
        public void delete();
}

class User{
        public void use(){
                System.out.println("use");
        }
       
        public void useDao(UserInfoDao dao){
                if(dao !=null){
                        dao.add();
                        dao.delete();
                }
        }
}

class UserInfoByJDBC implements UserInfoDao{
        public void add(){
                //1.连接数据库
                //2.使用sql添加语句添加数据。
                //3.关闭连接
               
        }
       
        public void delete(){
                //1.连接数据库
                //2.使用sql删除语句添加数据。
                //3.关闭连接
        }
               
}

class UserInfoByHibernate implements UserInfoDao{
        public void add(){
                //1.Hibernate连接数据库
                //2.使用sql添加语句添加数据。
                //3.关闭连接
               
        }
       
        public void delete(){
                //1.Hibernate连接数据库
                //2.使用sql删除语句添加数据。
                //3.关闭连接
        }
}


class DBOperate{
        public static void main(String[] args) {
                //UserInfoByHibernate uj = new UserInfoByHibernate();
                User use = new User();
                use.use();
                use.useDao(new UserInfoByHibernate());
                use.useDao(new UserInfoByJDBC());
               
        }
       
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马