Public class Cirle {Double radius;Public double area;Public Cirle(double r) {radius = r;}Public double getRadius() {return radius;}Public void setRadius(double r) {radius = r;}Public double getArea() { return /*???*/; }}Class App {Public static void main(String] args) {Cirle c1 = new Cirle(17.4);C1.area = Math.PI*c1.getRadius()*c1.getRadius();}}The class is poorly encapsulated. You need to change the circle class to compute and return the area insteadWhich two modifications are necessary to ensure that the class is being properly encapsulated?
选项:
A::remove the Area field
B:: Change the getArea( ) method as follows: public double getArea ( ) { return Match.PI * radius * radius; }
C:: Add the following method: public double getArea ( ) {area = Match.PI * radius * radius; } //没有return
D:: Change the cacess modifier of the |setRadius ( )| method to be protected.
发布时间:2024-05-15 09:48:55