Java封装1-5编程练习,应该怎么改?

Java封装1-5编程练习,应该怎么改?

package com.imooc.test;

public class Book {

  //私有属性:书名、作者、出版社、价格

     private String title;

     private String author;

         private String publisher;

     private double price;

    //通过构造方法实现属性赋值 

      /*通过公有的get/set方法实现属性的访问,其中:

      1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10

      2、限定作者、书名均为只读属性

      */

// 无参构造方法

public Book() {

}

//多参构造方法,实现对学号、姓名、性别、年龄的赋值

public Book(String title, String author, String publisher, double price) {

this.setTitle(title);

this.setAuthor(author);

this.setPublisher(publisher);

this.setPrice(price);

}

// 多参构造方法,实现对全部属性的赋值

 

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public void setAuthor(String author) {

this.author = author;

}

public String getAuthor() {

return author;

}

public String getPublisher() {

return publisher;

}

public void setPublisher(String publisher) {

this.publisher = publisher;

}

public double getPrice() {

if (price < 10)

System.out.println("图书价格最低10元");

return price;

}

public void setPrice(double price) {

if (price < 10)

this.price = 10;

else

this.price = price;

}

public String introduction() {

String str = "书名:" + this.getTitle() + "\n作者:" + this.getAuthor() + "\n出版社:"

+ this.getPublisher() + "\n价格:" + this.getPrice()+"元";

return str;

}

}


package com.imooc.test;


public class BookTest {



public static void main(String[] args) {

     //

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

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

       

     System.out.println(one.introduction());

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

     System.out.println(two.introduction());

  

}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
irista23 2018-03-28 14:50:54

只读是只有get方法,没有set方法,并且属性设置为private。具体你可以回看1-3视频中关于只读属性的讲解。如果解决了你的疑惑,请采纳,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5abb3afc00015cb817970934.jpg

提问者 vv夏至 2018-03-28 14:11:16

如何 限定作者、书名均为只读属性?

  • 书名作者不写set方法,get是读,set写
    2018-03-31 16:09:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师