欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《Spring上课笔记》---class1

程序员文章站 2022-06-23 08:07:10
目录一:面向对象回顾记录自己的上课笔记,如有错误,还请指正。还是拖到了学院教啊。环境:eclipse+spring4.3一:面向对象回顾面向对象程序设计:1.基本思想:将系统分解为一组可重用的对象2.对象之间维护相互之间的依赖关系3.应用程序通过类和接口组织4.OOP的编程元素实现核心的业务需要需求分析:电脑需要使用CPU去玩游戏。实现一:以面向对象的方式实现Demo每个实体都是一个对象,电脑获得cpu之后去玩游戏。AndroidCpu:package demo1;...

一:面向对象回顾

面向对象程序设计:
1.基本思想:将系统分解为一组可重用的对象
2.对象之间维护相互之间的依赖关系
3.应用程序通过类和接口组织
4.OOP的编程元素实现核心的业务需要

需求分析:
电脑需要使用CPU去玩游戏。

  • 实现一:以面向对象的方式实现Demo

《Spring上课笔记》---class1
每个实体都是一个对象,电脑获得cpu之后去玩游戏。
AndroidCpu:

package demo1;

public class AndroidCpu {
   
    public void run() {
    	System.out.println("android的cpu装上了");
    }
}

IosCpu:

package demo1;

public class IosCpu {
   public void run() {
	   System.out.println("ios的cpu装上了");
   }
}

电脑类:

package demo1;

public class Computer {
	  AndroidCpu cpu=new AndroidCpu();
      public void playGame() {
    	  cpu.run();
    	  System.out.println("电脑可以开始玩游戏了");
      }
}

启动类:

package demo1;

public class Run {
     public static void main(String[] args) {
		Computer computer=new Computer();
		computer.playGame();
	}
}

实现二:分离接口和实现

  • 优化目标:消除电脑和CPU实现类之间的依赖关系。
    不同cpu实现一个接口,电脑通过实现接口来达到玩游戏的目的。
    《Spring上课笔记》---class1
    接口:
public interface Cpu {
    public void run();
}

启动类:

public class IosCpu implements Cpu{

	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("Ios的Cpu装上了");
	}

}

实现三:采用容器类,所有对象都由容器管理
《Spring上课笔记》---class1
容器类:

public class Container {
	private static Container instance;
	private Map<String,Object> components;
	private Container() {
		components=new HashMap<String,Object>();
		instance =this;
		Cpu cpu=new IosCpu();
		components.put("cpu", cpu);
		Computer computer=new Computer();
		
		components.put("computer",computer);
	}
	public static Container getInstance() {
		if(instance==null) {
			instance=new Container();
		}
		return instance;
	}
	public Object getComponent(String key) {
		return components.get(key);
	}

}

启动类:

public class Run {
    public static void main(String[] args) {
		Computer computer=(Computer) Container.getInstance().getComponent("computer");
		computer.playGame();
	}
}

实现四:使用电脑选择类,封装查找逻辑,对外公开查找组件。
《Spring上课笔记》---class1

public class ComputerLocator {
     private static Container container=Container.getInstance();
     public static Cpu getCpu() {
    	 return (Cpu) container.getComponent("cpu");
     }
}

实现五:分离接口和实现,进行依赖注入。
电脑类:

public class Computer {
    Cpu cpu;
    
   
	public void setCpu(Cpu cpu) {
		this.cpu = cpu;
	}

	public void playGame() {
	   cpu.run();
	   System.out.println("电脑可以开始玩游戏了");
   }
}

启动类:

package demo5;

public class Run {
    public static void main(String[] args) {
		Computer computer=(Computer) Container.getInstance().getComponent("computer");
		Cpu cpu=new AndroidCpu();
		computer.setCpu(cpu);
		computer.playGame();
	}
}

本文地址:https://blog.csdn.net/qq_44867340/article/details/114268940

相关标签: # Spring