VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • 封装、继承

封装、继承

一、封装

1、理解封装

  • 程序设计追求“高内聚,低耦合”。高内聚:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用
  • 信息隐藏:禁止直接访问一个对象中数据的实际表示,应通过操作接口来访问
  • 属性私有:get/set

例:

(1).对Student类的一些属性进行封装(属性私有)

public class Student {
    //封装一般是对属性的
    private String name;//名字
    private int id;//学号
    private char sex;//性别
}

(2).我们对Student类的属性进行封装之后,在main方法里就不可以直接这样调用了
请添加图片描述

(3).所以要提供一些可以操作这些属性的方法 即 提供一些public的 get/set 方法

public class Student {
    private String name;//名字
    private int id;//学号
    private char sex;//性别

    //get 获得这个数据
    public String getName(){
        return this.name;
    }

    //set 给这个数据设置值
    public void setName(String name){
        this.name = name;
    }
}

(4).这样在main方法中,s1这个对象就可以调用公共方法了

public class Application {
    public static void main(String[] args) {
        Student s1 = new Student();
        
        //通过公共方法getName方式获得它的名字
        String name = s1.getName();

        //s1对象可以调用公共方法setName给name赋值
        s1.setName("小陆同学");

        System.out.println(s1.getName());

    }
}

2.Alt + Isnert :自动生成 get/set 方法

3.封装的意义

  • 提高程序的安全性,保护数据
  • 隐藏代码的实现细节
  • 统一接口
  • 增加系统可维护性

二、继承

1.理解继承

  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模

  • Java中只有单继承,没有多继承

  • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等

  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示

  • 子类是基类的拓展

  • 子类继承了父类就会有父类的所有方法

    例: 创建一个基类Person,创建两个派生类 Student 和 Teacher

    //父类:Person类
    public class Person {
    }
    
    //子类:Student 是 父类Person的拓展
    public class Student extends Person{
    }
    
    //子类:Teacher 是父类Person的拓展
    public class Teacher extends Person{
    }
    

    例: 子类继承了父类就会有父类的所有方法

    //父类:Person类
    public class Person {
        public int money = 10_000_000;
    }
    
    //子类:Student 是 父类Person的拓展
    public class Student extends Person{
    }
    
    public class Application {
        public static void main(String[] args) {
            Student student = new Student();
    
            System.out.println(student.money);
        }
    }
    

    运行结果
    请添加图片描述

    2.对父类的属性进行封装

        //修饰符优先级自上而下递减
        //public  公有的
        //protect 受保护的
        //default 默认的
        //private 私有的 (子类不能继承父类的私有属性)
    

    例:

    //父类:Person类
    public class Person {
    
        private int money = 10_000_000;
    
        public int getMoney() {
            return money;
        }
    
        public void setMoney(int money) {
            this.money = money;
        }
    }
    
    public class Application {
        public static void main(String[] args) {
            Student student = new Student();
    
            System.out.println(student.getMoney());
        }
    }
    

    3.在Java中,所有的类都默认直接或间接继承object类

  • 出处:https://www.cnblogs.com/l574/p/15055456.html

相关教程