vim复制 extjs6.5 fonts compilation ide Uploadify vue响应式布局 jquery去空格 bootstrap中文api文档 etc文件夹 matlab对数函数 matlab复数求模 linux下载器 maya曲线建模 matlab输入参数太多 python关键字 python命令行 python循环语句 python环境安装教程 python安装环境变量 python程序代码 python怎么使用 python时间戳 java方法的重载 java循环list java获取文件 javastring比较 java文件复制 linux磁盘管理 战地女记者 找茬辅助 易语言进度条 路由器辐射大吗 max电池容量 按键精灵脚本教程 dnf刷什么图赚钱 英雄联盟崩溃 为什么英雄联盟无法连接服务器 VSPD ps镜头校正
当前位置: 首页 > 学习教程  > 编程语言

Java-OOP特点:封装性、继承性、多态性

2020/11/4 14:52:27 文章标签:

OOP:Object Oriented Programming面向对象程序设计。 OOP有三个特点:封装性、继承性、多态性。 封装性: 什么是封装? 封装就是把过程和数据包围起来,对数据的访问只能通过已定义的接口即方法。 在java中通过关键字private&#xf…

OOP:Object Oriented Programming面向对象程序设计。
OOP有三个特点:封装性、继承性、多态性。

封装性:
什么是封装?
封装就是把过程和数据包围起来,对数据的访问只能通过已定义的接口即方法。
在java中通过关键字private,protected和public实现封装。
封装定义程序如何引用对象的数据。
封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。
适当的封装可以让代码更容易理解和维护,也加强了代码的安全性。
封装实现了高内聚,低耦合。
Java的方法和类都是封装,比如String类,我们不用了解他的底层原理是怎么写的,我们只用他提供的接口,也就是方法。

class A {
    private int age;
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int age) {
        if(age>0)
        {
            this.age = age;
        }
    }
}

继承性:
继承描述的是类之间的关系,子类使用通过extends关键字继承父类,使用super引用父类。
子类继承父类的特征和行为,使得子类对象具有父类的方法和属性
父类也叫基类,具有公共的方法和属性。
不⽀持多继承,⽀持多重继承,多重继承提⾼了耦合性,优先用组合而不是继承
一个子类只能有一个父类,一个父类可以有很多子类。
所有的类的都是继承于 java.lang.Object。
⼦类拥有父类的非private的属性和方法。
⼦类可以用自己的方式实现父类的方法 override(重写,覆盖)。
继承实现了代码的复用。
重写从父类那里继承来的方法的,当调用方法时候会优先调用子类的方法(默认就近原则)。
final关键字修饰的类不可以被继承。
final关键字修饰的方法不允许被覆盖(重写)。
java继承后类的初始化顺序:静态代码块、非静态代码、父类/子类无参构造方法、父类/子类的⼀般方法。

class Animal {

    public Animal(int x){}
    public Animal(){}
    public void sleep(){
        System.out.println("睡眠");
    }

    public void eat(){
        System.out.println("进食");
    }
}
class Cat extends Animal {

    public Cat(int c){
        super(c);
    }
    public Cat(){};
    @Override
    public void sleep(){
        System.out.println("猫睡了");
    }
    public void eat(){
        System.out.println("猫吃鱼");
    }
}

多态性:
多态就是同⼀个行为具有多个不同表现形式或形态的能力。
优点:减少耦合、灵活可拓展。
⼀般是继承类或者重写方法实现。
多态性的存在依赖三个必要的条件:
1.继承,2.重写,3.父类引用指向子类的对象。
常见方式:继承方法重写、同类方法重载、抽象方法、接口。

class Animal {

    public void eat(){
        System.out.println("进食");
    }
}

class Cat extends Animal {

    public void eat(){
        System.out.println("猫吃鱼");
    }
}

class Dog extends Animal {

    public void eat(){
        System.out.println("狗吃肉");
    }
}

public class HelloWorld {
    public static void main(String [] args){
        Animal animal1 = new Cat();
        animal1.eat();//猫吃鱼
        Animal animal2 = new Dog();
        animal2.eat();//狗吃肉
    }
}

本文链接: http://www.dtmao.cc/news_show_350251.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?