zoukankan      html  css  js  c++  java
  • Java面向对象(中)课后习题编程题

    教材JAVA面向对象程序设计(第二版) 袁绍欣 第五章

    一、题目

    设计Src和Dis两个类,Src中有一个被封装的属性,类型类 int ,每当通过特定方法更改Src对象中的这个属性后,Dis对象都能得到通知,并向Src发消息获得此属性值。

    二、解答

    根据题意创建两个类
    Src类:

    
    public class Src {
    	int num;//被封装属性
    	Dis dis;
    
    	int getNum() {
    		return num;
    	}
    
    	void setNum(Dis d) {
    		dis = d;
    	}
    
    	Src(int n) {
    		if (n >= 0) {
    			num = n;
    		}
    	}
    
    	void changeNum(int n) {
    		if (n >= 0) {
    			num = n;
    			dis.print();//通知Dis对象
    			System.out.println("Modified successfully!");
    		} else {
    			System.out.println("Modification failed!");
    		}
    	}//修改num属性值
    
    	public static void main(String[] args) {
    		Src src = new Src(0);
    		Dis dis = new Dis(src);
    		src.setNum(dis);
    		for (int i = -2; i <= 5; i++) {
    			src.changeNum(i);
    		}//修改测试
    	}
    
    }
    
    

    Dis类:

    
    class Dis {
    	Src src;
    
    	Dis(Src s) {
    		src = s;
    	}
    
    	void print() {
    		System.out.println("Num值已修改为" + src.getNum());//发消息获得属性值
    	}
    
    }
    
    

    运行结果

    Modification failed!
    Modification failed!
    Num值已修改为0
    Modified successfully!
    Num值已修改为1
    Modified successfully!
    Num值已修改为2
    Modified successfully!
    Num值已修改为3
    Modified successfully!
    Num值已修改为4
    Modified successfully!
    Num值已修改为5
    Modified successfully!
    

    测试运行成功

  • 相关阅读:
    3 saltstack高可用
    2 salt-masterless架构
    1 salt执行模块开发
    git push 后 链接总是灰色点击没有反应
    4. Beego 框架之cookie与session
    19 Go的全能ORM简单入门
    K8S
    Docker
    Python
    TS
  • 原文地址:https://www.cnblogs.com/myzhibei/p/12890563.html
Copyright © 2011-2022 走看看