zoukankan      html  css  js  c++  java
  • 封装

    1、封装的概念:
    将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。
    2、好处:
    (1)只能通过规定的方法访问数据
    (2)隐藏类的实例细节,方便修改和实现。
    3、封装的实现步骤
    (1)修改属性的可见性设为(private)
    (2)创建getter/setter方法(用于属性的读写)(通过这两种方法对数据进行获取和设定,对象通过调用这两种发方法实现对数据的读写)
      

    在使用eclipse写java程序中 同时按shift+Alt+s 选择Generate Getters and setters
    可以自动的写出setget的方法

    经过封装的属性,不能直接访问,要通过公共属性get/set方法访问,代码如下:

    /**
     * 某公司要开发内部的 “办公管理信息系统”,请使用面向对象的思想设计部门和员工信息
     * @author Administrator
     *
     */
    public class Department {
     
        public int depsno;//部门编号
        public String depname;//部门名称
        
        //封装
        public int getDepsno() {
            return depsno;
        }
        public void setDepsno(int depsno) {
            this.depsno = depsno;
        }
        public String getDepname() {
            return depname;
        }
        public void setDepname(String depname) {
            this.depname = depname;
        }
    }
    public class Employees {
        public String empname;
        public char empsex;
        public int empage;
        public String empdepname;//所在部门
        public String empduty;//职务
     
        public String getEmpname() {
            return empname;
        }
     
        public void setEmpname(String empname) {
            this.empname = empname;
        }
     
        public char getEmpsex() {
            return empsex;
        }
     
        public void setEmpsex(char empsex) {
            this.empsex = empsex;
        }
     
        public int getEmpage() {
            return empage;
        }
     
        public void setEmpage(int empage) {
            this.empage = empage;
        }
     
        public String getEmpdepname() {
            return empdepname;
        }
     
        public void setEmpdepname(String empdepname) {
            this.empdepname = empdepname;
        }
     
        public String getEmpduty() {
            return empduty;
        }
     
        public void setEmpduty(String empduty) {
            this.empduty = empduty;
        }
     
        public static void main(String[] args) {
            Department dep = new Department();
            Employees emp = new Employees();
            
            //通过set属性传递数据
            dep.setDepname("销售部");
            emp.setEmpname("张敏");
            emp.setEmpage(26);
            emp.setEmpduty("销售经理");
            
            //通过get属性得到数据
            System.out.println("我是"+emp.getEmpname()+",今年"+emp.getEmpage()+"岁");
            System.out.println("我的职位是"+dep.getDepname()+"的"+emp.getEmpduty());
        }
        
    }
  • 相关阅读:
    python中的if...else...、while、for
    linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow
    [国家集训队]middle
    [SCOI2007]修车
    基本图论-连通分量(强/弱联通 割点/边 边/点双)
    [NOI2008]奥运物流
    [NOI2008]假面舞会
    [NOI2008]设计路线
    [SCOI2009]windy数
    [SCOI2013]多项式的运算
  • 原文地址:https://www.cnblogs.com/qq1312583369/p/10900840.html
Copyright © 2011-2022 走看看