请问老师,以下代码哪里需要改善?谢谢!

来源:1-7 编程练习

weixin_慕码人4149644

2019-12-26 01:34:51

package com.immoc.animal;

public class Book {
		//私有属性:书名、作者、出版社、价格
		private String bookName;//书名
		private String writer;//作者
		private String press;//出版社
		private double price;//价格
		
		//通过构造方法实现属性赋值
		public Book(String bookName,String writer,String press,double price) {
			this.setBookName(bookName);
			this.setWriter(writer);
			this.setPress(press);
			this.setPrice(price);
			
		}
	    /*通过公有的get/set方法实现属性的访问,其中:
	    1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10
	    2、限定作者、书名均为只读属性
	    */

		public String getBookName() {
			return bookName;
		}

		public void setBookName(String bookName) {
			this.bookName = bookName;
		}

		public String getWriter() {
			return writer;
		}

		public void setWriter(String writer) {
			this.writer = writer;
		}

		public String getPress() {
			return press;
		}

		public void setPress(String press) {
			this.press = press;
		}

		public double getPrice() {
			return price;
		}

		public void setPrice(double price) {
			if(price<=10) {
				System.out.println("图书价格最低10元");
				this.price=10;
			}
			else{
				this.price = price;	
			}
		}
		

		//信息介绍方法,描述图书所有信息
		public void information() {
			System.out.println("书名:"+bookName);
			System.out.println("作者:"+writer);
			System.out.println("出版社:"+press);
			System.out.println("价格:"+price+"元");
		}
}

==========================================

package com.immoc.animal;


public class BookTest {


public static void main(String[] args) {

  //实例化对象,调用相关方法实现运行效果

Book one=new Book("红楼梦","曹雪芹","人民文学出版社",10);

one.information();

System.out.println("=============================");

Book two=new Book("小李飞刀","古龙","中国长安出版社",55.5);

two.information();

}


}


写回答

1回答

好帮手慕雪

2019-12-26

1-7要求“限定作者、书名均为只读属性”,也就是说,同学不应该增加setBookName()和setWriter()。如果解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 2907 问题

查看课程