面向对象特征之封装性

Posted zengblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象特征之封装性相关的知识,希望对你有一定的参考价值。

封装原因:

1.隐藏一个类中不需要对外提供的实现细节。

2.限制使用者只能通过事先制定好的方法来访问数据。

3.方便加入控制逻辑及修改,增强代码的可维护性。  

封装含义:

1.封装(也称为数据隐藏),是把数据和行为组合在一个包package中,

并把对象的使用者隐藏数据的实现方式。

2.对类的封装就是把类class中的属性私有化,即使用private关键字来修饰,

私有属性只能在它所在类中被访问。

封装原则:

1. 将不需要对外提供的内容都隐藏起来。

2. 把属性隐藏,提供公共方法对其访问。

3. 成员变量private,提供对应的getXxx()和setXxx()方法。

封装实现:

1.在Java程序中将数据声明为私有的private。

2.提供公共的public方法:getXxx()和setXxx()方法来操作该属性。

封装优点:

1. 通过方法来控制成员变量的操作,提高了代码的安全性。

2. 把代码用方法进行封装,提高了代码的复用性。

 1 public class StudentDemo{
 2     public static void main(String[] args) {
 3         Student stu = new Student();
 4         stu.setAge(99);
 5         stu.setName("小明");
 6         stu.introduce(); //方法调用
 7     }
 8 }
 9 
10 class Student {
11     private String name; //将name属性私有化
12     private int age; //将nage属性私有化
13 
14     //建立public公有的getXxx()和setXxx()方法
15     public String getName() {
16         return name;
17     }
18     public void setName(String name) {
19         this.name = name;
20     }
21 
22     public int getAge() {
23         return age;
24     }
25     public void setAge(int age) {
26         //检查传入的参数是否合法
27         if(age <= 0) System.out.println("年龄输入有误!");
28         this.age = age;
29     }
30 
31     //建立方法introduce()
32     public void introduce(){
33         System.out.println("我叫" + name + ",我今年" + age + "岁!");
34     }
35 }

以上是关于面向对象特征之封装性的主要内容,如果未能解决你的问题,请参考以下文章

Python3-2020-测试开发-20- 面向对象之封装,继承,多态

Java中面向对象的特征都有哪些?

面向对象的特征有哪些?

面向对象的特征

JavaSE 学习笔记之封装

面向对象的三大基本特征之一封装