IOC控制反轉(zhuǎn)理解
點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”
優(yōu)質(zhì)文章,第一時(shí)間送達(dá)
1. IOC基礎(chǔ)
2. IOC推導(dǎo)與理解
2.1、最基本的實(shí)現(xiàn)方式
interface Meizi {
public void describe();
}
class Yujie implements Meizi{
@Override
public void describe() {
System.out.println("御姐~");
}
}
//這里只列出一種女生類型的具體實(shí)現(xiàn),其他的類似
interface Nan {
public void getMeizi();
}
class yihao implements Nan{
@Override
public void getMeizi() {
Meizi meizi = new Yujie();
meizi.describe();
}
}
class erhao implements Nan{
@Override
public void getMeizi() {
Meizi meizi = new Yujie();
meizi.describe();
}
}
2.2、采用組合的方式實(shí)現(xiàn)
interface Meizi {
public void describe();
}
class Yujie implements Meizi{
@Override
public void describe() {
System.out.println("御姐~");
}
}
//這里只列出一種女生類型的具體實(shí)現(xiàn),其他的類似
interface Nan {
public void getMeizi();
}
class yihao implements Nan{
private Meizi meizi = new Yujie();
@Override
public void getMeizi() {
meizi.describe();
}
}
class erhao implements Nan{
private Meizi meizi = new Yujie();
@Override
public void getMeizi() {
meizi.describe();
}
}
public class Main {
public static void main(String[] args) {
yihao man1 = new yihao();
man1.getMeizi();
erhao man2 = new erhao();
man2.getMeizi();
}
}
2.3、采用聚合方式(松耦合)
interface Meizi {
public void describe();
}
class Yujie implements Meizi{
@Override
public void describe() {
System.out.println("御姐~");
}
}
//這里只列出一種女生類型的具體實(shí)現(xiàn),其他的類似
interface Nan {
public void getMeizi();
}
class yihao implements Nan{
private Meizi meizi;
public void setMeizi(Meizi meizi) {
this.meizi = meizi;
}
@Override
public void getMeizi() {
meizi.describe();
}
}
class erhao implements Nan{
private Meizi meizi;
public void setMeizi(Meizi meizi) {
this.meizi = meizi;
}
@Override
public void getMeizi() {
meizi.describe();
}
}
public class Main {
public static void main(String[] args) {
yihao man1 = new yihao();
man1.setMeizi(new Yujie());
man1.getMeizi();
erhao man2 = new erhao();
man2.setMeizi(new Luoli());
man2.getMeizi();
}
}
3. IOC總結(jié)
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:
https://blog.csdn.net/weixin_43808717/article/details/116425554
鋒哥最新SpringCloud分布式電商秒殺課程發(fā)布
??????
??長(zhǎng)按上方微信二維碼 2 秒
感謝點(diǎn)贊支持下哈 
評(píng)論
圖片
表情




