Javase(三)三大特性之封装
封装现实生活中比如鼠标我们知道它是全部装在一个装置里面只暴露出一个接口能够我们充电或连接电脑里面的设计、电路等都不暴露给我们这些使用者看这样子能很好的保护里面的东西不被破坏。在Java中也是如此将属性和方法全部都封装在类中隐藏内部的具体实现细节通过访问修饰符(private/public)控制访问权限只暴露有限的访问接口(setter/getter)以降低耦合度提高安全性。在程序中具体如何实现封装public class Pet { private String name; private String birthday; private char gender; public String getName(){ return this.name; } public String getBirthday(){ return this.birthday; } public char getGender(){ return this.gender; } public void setName(String name){ this.name name; } public void setBirthday(String birthday){ this.birthday birthday; } public void setGender(char gender){ this.gender gender; } public void eat(){ System.out.println(正在吃...); } public void run() { System.out.println(正在跑...); } }练习1定义一个汽车类包括属性品牌、价格、颜色等。并对其中的价格属性进行封装价格不得高于50万不得低于20万。public class Car { public String brand; private int price; public String color; public int getPrice(){ return this.price; } public void setPrice(int price){ if (price 500000 price 200000) { this.price price; } } }练习2定义一个银行账户类包含属性账户名、余额等。并对其中的余额进行封装余额不得小于0。另外定义一个取款方法withdraw判断取款金额是否合法另外余额是否充足。public class Account { public String name; private double balance; public double getBalance(){ return this.balance; } public void setBalance(double balance) { this.balance balance; } public void withdraw(double money){ if (money this.balance this.balance 0) { this.setBalance(this.balance - money); } } }练习3定义一个员工类包含属性姓名、年龄、工资等。并对其中的工资进行封装工资不得低于800元。另外定义一个raise方法用来涨薪如果涨薪后的工资超过了10000元则不再涨薪。public class Employee { public String name; public int age; private int salary; public int getSalary(){ return this.salary; } public void setSalary(int salary){ if (salary 800) { this.salary salary; } } public void raise(int money){ if (this.getSalary() money 10000) { this.setSalary(this.getSalary() money); } } }练习4定义一个顾客类Customer包括属性姓名生日性别联系电话等属性。对所有属性进行封装。然后提供一个购物的shopping()方法再提供一个付款的pay()方法在shopping()方法中购物购物行为在结束前需要完成支付因此在shopping()方法的最后调用pay()方法。体会实例方法中调用实例方法。public class Customer { private String name; private String birthday; private char gender; private String phoneNumber; public String getName() { return name; } public String getBirthday() { return birthday; } public char getGender() { return gender; } public String getPhoneNumber() { return phoneNumber; } public void setName(String name) { this.name name; } public void setBirthday(String birthday) { this.birthday birthday; } public void setGender(char gender) { this.gender gender; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber phoneNumber; } public void shopping() { System.out.println(正在付款...); this.pay(); System.out.println(购物结束); } public void pay() { System.out.println(付款成功...); } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2480208.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!