面试面试8.29- 面向对象和面向过程的区别
小u两者的主要区别在于解决问题的方式不同:
- 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。
- 面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
另外,面向对象开发的程序一般更易维护、易复用、易扩展。
下面是一个求圆的面积和周长的示例,简单分别展示了面向对象和面向过程两种不同的解决方案。
面向对象:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public class Circle { private double radius;
public Circle(double radius) { this.radius = radius; }
public double getArea() { return Math.PI * radius * radius; }
public double getPerimeter() { return 2 * Math.PI * radius; }
public static void main(String[] args) { Circle circle = new Circle(3.0);
System.out.println("圆的面积为:" + circle.getArea()); System.out.println("圆的周长为:" + circle.getPerimeter()); } }
|
我们定义了一个 Circle
类来表示圆,该类包含了圆的半径属性和计算面积、周长的方法。
面向过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public class Main { public static void main(String[] args) { double radius = 3.0;
double area = Math.PI * radius * radius; double perimeter = 2 * Math.PI * radius;
System.out.println("圆的面积为:" + area); System.out.println("圆的周长为:" + perimeter); } }
|
我们直接定义了圆的半径,并使用该半径直接计算出圆的面积和周长。