抽象和封装之间有什么区别?
Java抽象
1)抽象是一种面向对象的编程概念,也在Java中引入。
2)抽象意味着我们隐藏了内部实现细节。(或者换句话说,突出显示它们提供的服务集)。
范例1:
ATM用户界面:
突出显示ATM提供的服务集,例如现金提取,余额查询和密码更改等。但是我们不知道服务背后的内部编码(即隐藏的内部实现)。
范例2:
汽车驾驶员:
他知道如何启动汽车,如何改变汽车的档位,但是他不知道汽车的启动过程和汽车的换档过程。
3)抽象的优点很少:
安全性:外部人员不了解我们可以用来实现安全性的内部实施细节。
增强功能:在不影响外部人员(最终用户)的情况下,我们可以根据需要更改内部实施细节,因此增强功能很容易。
2)用Java封装
1)封装是一种面向对象的编程概念,也在Java中引入。
2)将数据及其相应的方法包装到一个单元中(换句话说,将数据及其相应的方法绑定到一个单元中的过程)。
示例
class GetAccountDetails{ private double balance; public double getBalance(){ return balance; } public void setBalance(double bal){ balance = bal; } } class AccountDetails{ public static void main(String[] args){ GetAccountDetails GAD = new GetAccountDetails(); GAD.setBalance(10000.000); double balance = GAD.getBalance(); System.out.println(balance); } }
在这里,GetAccountDetails是一个单位,其中balance是数据成员,getBalance()
而setBalance是方法或成员函数。
3)封装的优点很少:
我们可以实现安全性。
增强功能很忙。
它提高了应用程序的可维护性。
4)封装的缺点是由于安全方面的级别检查而导致执行速度变慢,因此性能下降。