JAVA的简单面向对象的基础

JAVA的简单面向对象的基础

封装

java中认为万事万物皆为对象,与c语言不同的是,java是面向对象的语言,而c语言是面向过程的语言

封装即把一个事物的性质和行为写在一个类中,方便之后程序的调用。

例如设计一个垃圾桶类

public class RubbishBin {
    private String color;
    private int size;
    private int capacity;
}

这是一个简单的只有对象性质的类,这里定义了垃圾桶的颜色,大小,和容量。

可以看出这里的类中只有垃圾桶的性质,没有垃圾桶的行为,下面可以简单的写一个垃圾桶的行为·,即写一个成员方法。

例如

public void Takeout()
{
    System.out.println("垃圾桶中的垃圾被倒");
}

可以看出垃圾桶“被倒”也属于“垃圾桶”的行为

所以一般地,在面向对象的思想中,如果一个对象是该行为的承受这,该类中也应该封装该行为,即写出该行为的成员方法代码。

构造方法

在类中,往往提供默认的无参构造,我们还可以手动提供有参构造,构造方法的大致书写如下。

public RubbishBin()
{
    
}

这是无参构造的书写方法。

public RubbishBin(String color, int size, int capacity)
{
    this.color = color;
    this.size = size;
}

这是有参构造的书写方法,其中this本质是一个地址,指向的是被调用类,即代指该类的成员变量,便于与形参color size capacity作出区分

标准java bean类

1.成员变量用private修饰,这样可以使得所编写的程序更安全

2.至少提供两种构造方式

3.提供对象的行为 即提供类中的的方法,这些方法大多数要对成员变量起作用

所以标准化我的垃圾桶类 ,还需要提供如下方法

public void SetColor(String color)
{
    this.color = color;
}
public void Setsize(int size)
{
    this.size = size;
}
public void setCapacity(int capacity)
{
    this.capacity = capacity;
}
public String GetColor()
{
    return color;
}
public int GetSize()
{
    return size ;
}
public int GetCapacity()
{
    return capacity;
}

所以我写出的一个标准java bean类如下

public class RubbishBin {
    private String color;
    private int size;
    private int capacity;
    public RubbishBin()
    {

    }
    public RubbishBin(String color, int size, int capacity)
    {
        this.color = color;
        this.size = size;
    }
    public void SetColor(String color)
    {
        this.color = color;
    }
    public void Setsize(int size)
    {
        this.size = size;
    }
    public void setCapacity(int capacity)
    {
        this.capacity = capacity;
    }
    public String GetColor()
    {
        return color;
    }
    public int GetSize()
    {
        return size ;
    }
    public int GetCapacity()
    {
        return capacity;
    }
    public void Takeout()
    {
        System.out.println("垃圾桶中的垃圾被倒");
    }
}
posted @ 2025-01-16 11:00  懒洋洋血洗青青草原  阅读(24)  评论(0)    收藏  举报