前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Java面向对象编程的基本概念和原则(一)

Java面向对象编程的基本概念和原则(一)

原创
作者头像
玖叁叁
发布2023-05-08 13:17:46
发布2023-05-08 13:17:46
14400
代码可运行
举报
文章被收录于专栏:玖叁叁玖叁叁
运行总次数:0
代码可运行

面向对象编程的基本概念

面向对象编程的基本概念包括类、对象、封装、继承和多态。

类是一种抽象的概念,它描述了一类对象所共有的属性和行为。在Java中,类是通过class关键字来定义的。例如,下面是一个定义矩形类的例子:

代码语言:javascript
代码运行次数:0
复制
public class Rectangle {
    private double width;
    private double height;
    
    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }
    
    public double getWidth() {
        return width;
    }
    
    public double getHeight() {
        return height;
    }
    
    public double getArea() {
        return width * height;
    }
}

在这个例子中,Rectangle类有两个私有属性width和height,以及三个公共方法getWidth、getHeight和getArea。通过这个类的定义,我们可以创建很多个矩形对象,并且可以调用这些对象的方法。

对象

对象是类的一个实例,它具有类定义的属性和方法。在Java中,我们可以使用new关键字来创建一个对象。例如,我们可以创建一个矩形对象并计算它的面积:

代码语言:javascript
代码运行次数:0
复制
Rectangle rect = new Rectangle(3.0, 4.0);
double area = rect.getArea(); // area = 12.0

在这个例子中,我们创建了一个名为rect的Rectangle对象,并调用了它的getArea方法来计算矩形的面积。

封装

封装是一种将数据和行为包装在一起的机制,它使得类的实现细节对外部不可见。在Java中,我们可以使用private、protected和public关键字来控制类的成员的可访问性。例如,我们可以将Rectangle类中的width和height属性声明为私有的,以防止外部代码直接修改它们:

代码语言:javascript
代码运行次数:0
复制
private double width;
private double height;

在这个例子中,width和height属性是私有的,只能在Rectangle类的内部访问。外部代码无法直接修改它们,而是必须使用公共的方法来访问和修改它们。

继承

继承是一种机制,它允许子类继承父类的属性和方法,并且可以在子类中添加新的属性和方法。在Java中,我们可以使用extends关键字来实现继承。例如,我们可以定义一个正方形类Square,它继承自Rectangle类:

代码语言:javascript
代码运行次数:0
复制
public class Square extends Rectangle {
    public Square(double side) {
        super(side, side);
    }
}

在这个例子中,Square类继承自Rectangle类,并且使用super关键字调用了Rectangle类的构造函数来初始化它的width和height属性。由于正方形的边长是相等的,因此我们可以简化Square类的定义。

多态

多态是一种机制,它允许不同的对象对同一个方法作出不同的响应。在Java中,多态是通过继承和方法重写来实现的。例如,我们可以定义一个名为printArea的方法,它可以接受任何类型的Shape对象,并打印出它们的面积:

代码语言:javascript
代码运行次数:0
复制
public static void printArea(Shape shape) {
    double area = shape.getArea();
    System.out.println("The area of the shape is " + area);
}

在这个例子中,printArea方法接受一个Shape类型的参数,并调用它的getArea方法来计算面积。由于Rectangle和Square类都实现了Shape接口,因此我们可以使用这个方法来计算它们的面积:

代码语言:javascript
代码运行次数:0
复制
Rectangle rect = new Rectangle(3.0, 4.0);
Square square = new Square(5.0);

printArea(rect); // The area of the shape is 12.0
printArea(square); // The area of the shape is 25.0

在这个例子中,我们创建了一个Rectangle对象和一个Square对象,并分别调用了printArea方法来计算它们的面积。由于Rectangle和Square类都实现了Shape接口,因此它们可以作为printArea方法的参数,并打印出它们的面积。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面向对象编程的基本概念
    • 对象
    • 封装
    • 继承
    • 多态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档