面向对象编程特性-封装性-Java

前言

在 Java 中,封装是一种重要的面向对象编程特性。下面对封装性的简单介绍


一、封装的概念

1.封装思想的引入

在 C 语言中,结构体变量是一种将不同类型的数据组合在一起的数据类型,它可以用来表示复杂的数据结构。这就是一种封装的思想,将多个变量封装成一个新的“数据类型”。通过结构体变量名和成员运算符(.)来访问结构体的成员。

struct 结构体名 {
    成员类型1 成员名1;
    成员类型2 成员名2;
   ...
    成员类型n 成员名n;
};

类的概念与之类似,与之不同的是,类不仅可以将变量进行封装还可以将函数进行封装。

2.类的定义

书本定义:类是抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为。
这里的属性代表变量(后续称为成员变量),行为代表函数(后续也会称之为方法)
因此类体由两部分构成:
1.变量的声明:用来存储属性的值(体现对象的属性)
2.方法的定义:方法可以对类中声明的变量进行操作,即给出算法(体现对象所具有的行为功能)

3.代码举例

此处我们定义了一个梯形类(Ladder),它的成员变量有above(上底)、 bottom(下底)、 height(高)、 area(面积),它的方法有computerArea()、setHeight()。

class Ladder { 
float above;    //梯形的上底(变量声明)
 float bottom;   //梯形的下底(变量声明)
 float height;    //梯形的高(变量声明)
 float area;     
//梯形的面积(变量声明)
 float computerArea() {          
//计算面积(方法)
 area = (above+bottom)*height/2.0f;
 return area;
 } 
void setHeight(float h) {        
height = h;
 }
 //修改高(方法)
 }

二、类的使用

1.对象的创建

类是面向对象语言中最重要的一种数据类型,那么就可以用它来声
明变量。在面向对象语言中,用类声明的变量被称作对象。
创建一个对象包括对象的声明和为对象分配变量两个步骤。

1.1对象的声明

一般格式为: 类的名字 对象名字;

Ladder ladder;

1.2为声明的对象分配变量

使用new运算符和类的构造方法为声明的对象分配变量,并返回一个引用值给
对象名称。
构造方法可以理解为,在创建对象的同时,给成员变量初值的过程,默认所有类都有一个无参构造方法。构造方法是一个特殊的方法,其方法名和类名一致,且无返回值

class Ladder { 
float above;    //梯形的上底(变量声明)
 float bottom;   //梯形的下底(变量声明)
 float height;    //梯形的高(变量声明)
 float area;
 //默认的构造方法,可以省略 
 Ladder(){
 };    
//梯形的面积(变量声明)
 float computerArea() {          
//计算面积(方法)
 area = (above+bottom)*height/2.0f;
 return area;
 } 
void setHeight(float h) {        
height = h;
 }
 //修改高(方法)
 }

上述将默认的构造方法已写出

Ladder ladder = new Ladder();

此处即创建了一个名为ladder的对象。

2.使用对象

通过(.)运算符可以访问成员变量或方法

class Ladder {
    float above;    //梯形的上底(变量声明)
    float bottom;   //梯形的下底(变量声明)
    float height;    //梯形的高(变量声明)
    float area;
    //默认的构造方法,可以省略
    Ladder(){
    };
    Ladder(float above, float bottom) {
        this.above = above;
        this.bottom = bottom;
    }
    //梯形的面积(变量声明)
    float computerArea() {
    //计算面积(方法)
        area = (above+bottom)*height/2.0f;
        return area;
    }
    void setHeight(float h) {
        height = h;
    }
    //修改高(方法)
}
public class Test {
    public static void main(String[] args) {
        Ladder ladder = new Ladder(10,20);

        ladder.setHeight(10);
        System.out.println("梯形的信息如下");
        System.out.println("above = "+ladder.above);
        System.out.println("bottom = "+ladder.bottom);
        System.out.println("height = "+ladder.height);
        System.out.println("area = "+ladder.computerArea());
    }
}

上述代码定义了一个新的构造方法,初始化了above 和 bottom

三.封装的意义

1.将数据和操作数据的方法封装在一起,使得代码的结构更加清晰,易于理解和维护。
2.当需要对类的内部实现进行修改或扩展时,可以在不影响外部代码的情况下进行,提高了代码的可扩展性。
3.增强了数据的安全性,防止外部代码意外修改或破坏类的内部数据。

总结

本次以封装思想为主,主要介绍封装的思想,只是初步介绍了类的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值