zoukankan      html  css  js  c++  java
  • Java面向对象编程 -2

    成员属性封装

    在类之中的组成就是属性和方法,一般而言方法都是对外提供服务的,所以是不会进行封装处理的,而对于属性需要较高的安全性,所以往往需要对其进行保护 这个时候就需要采用封装性对属性进行保护。
    在默认情况下,对于类中的属性是可以通过其他类利用对象进行调用的。
    解决办法:可以利用private关键字对属性进行封装处理。
    而属性一旦封装之后外部将不能够直接访问,即对外部不可见,但是对类的内部是可见;
    那么要想让外部的程序可以访问封装的属性,则在Java开发标准中提供了如下要求:

    • setter getter设置或取得属性可以使用setXxx()、getXxx()方法;以private String name;为例
      • 设置属性方法: public void setName(String name);
      • 获取属性方法: public String getName();
    class Person{
    	private int age;
    	private String name;
    	
    	public void setAge(int a) {
    		age = a;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setName(String n) {
    		name = n;
    	}
    	public String getName() {
    		return name;
    	}
    	
    	public  void intorduce() {
    		System.out.println("age= "+age+" name= "+name);
    	}
    }
    public class xxx {
    	public static void main(String[] args) {
    		Person per1 = new Person();
    		per1.setAge(16);
    		per1.setName("sakura");
    		per1.intorduce();
    	}
    
    }
    
    >>>age= 16 name= sakura
    

    在以后进行任何类定义得时候一定要记住,类中的所有属性都必须使用private封装(标准做法 90%),并且提供有setter和getter方法。
    封装性是java面向对象的第一大主要特征 ,封装性不仅仅是一个属性封装这么简单,它跟访问权限有关。

  • 相关阅读:
    队列与栈的综合实现
    枚举属性和不可枚举属性
    Ajax状态值及状态码
    jquery版滑块导航栏
    js版面向对象图片放大镜
    jq封装淘宝图片轮播插件
    前端必备的js知识点(转载)
    如何有效地解决ie7,IE8不支持document.getElmentsByClassName的问题
    mysql的基本命令行操作
    jquery版楼层滚动特效
  • 原文地址:https://www.cnblogs.com/sakura579/p/12321171.html
Copyright © 2011-2022 走看看