面向对象的特性----封装---私有

来源:互联网 发布:链路层 网络层 编辑:程序博客网 时间:2024/06/06 04:23

面向对象的三大特征:封装,继承,多态。

封装:顾名思义就是把一些东西封好,装起来,在Java中的意思也是这个。其实函数也是一个封装体,类也是一个封装体。由此就可总结,封装的优点可总结为以下3点:

1.提高代码的复用性。

2.隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用。这是核心之一,也可以理解为封装。

3.提高了安全性。

如下例子:

public class Duixiang {



public static void main(String[] args) {

Person p = new Person ();
p.age=20;
p.speak();

}

//函数中包括属性和参数。

  class Person {
 int age;
 void speak(){
 System.out.println("age="+age);
 }
  
  }

上述例子中看起来没什么问题,但如若把20写成-20,编译绝对不会出现错误,但一个人年龄是负数肯定不符合实际情况。那怎么办?这时就要用到私有化的形式。即写成:private int age;除此之外,还要注意这样写,错误的值不能写进去,但正确的值也不能进去了,所以要用到封装的原理——隐藏后还需要提供访问方式。通过方法的访问让其他程序访问到就行。更重要的是可以在方法中加入逻辑判断。所以以后再描述事物,其属性都进行私有化,并提供set,get方法,进行访问。

在这里,还要提到一个概念:构造函数。

作用:可以对对象创建进行初始化

在代码中如何让体现呢?例如:

public class ArrTest {

public static void main(String [] args){

int [] arr={12,34,56,25,87};
int max=getmax(arr);

System.out.println("max="+max);
}


写出构造函数:

ArrTest (String s){

  name =s    //将接受的值赋值给对象的name 

}



原创粉丝点击