zoukankan      html  css  js  c++  java
  • 面向对象的三大特性

    • 继承
    一个类继承另一个类 具有其属性和不小于protected权限方法
    如  创建一个动物类  动物都具有共性   就是年龄 种类
    这是所有动物的共性   任何动物都具有的
    public class  Animal{
      private   int  age;
     private   String  type;
     }

    如果  创建 多个动物类 每次都要声明这两个属性  而如果都继承了这个动物类  就不用再显式声明这两个属性   就具有这两种属性   这就降低了代码的重复性  子类也可以有自己特有的方法 跟属性   以实现功能的扩展

    public class Fish extends Animal {
        private String  scale;
    }
    
     

    如果父类中 只有默认的无参数构造   子类  的构造函数 中可以不写super();
    一旦父类中 有参构造     子类必须对父类的有参构造进行显示声明 super(...);
    父类一般给子类提供访问其私有属性的方法   或者其他一些public 标识的功能性方法
    父类中如果有抽象方法 子类必须对其进行实现而且  其作用域必须不小于原来声明的作用域   子类也可以复写父类的可以访问的方法   比如常见的 改写的  toString 方法    就是 改写所有类的父类 Object的 方法
     
    一个接口继承另一个接口 或者一个接口继承多个个接口
    java的多接口继承是对 类只能单继承的一种补充

    • 封装
    封装 是隐藏了功能的实现细节   比如 对数据   和基于数据的相关操作   只提供对外调用该功能实现的接口  因为隐藏了实现细节  所以增加了数据的安全性   同时因为对外只展现了功能的实现  所以实现了专业的分工   模块化       降低了耦合度  和易用性 不必理解功能实现的原理  简化了开发    
    • 多态  
    相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。

    多态存在的条件    必须有类的继承关系   必须有重写    父类引用指向 子类对象

    此时子类的私有属性和方法 不能使用   此时父类调用 某个被子类改写的方法时    可以使用父类的同名方法  也可以使用子类的同名方法  实现的结果 可能是不同的 这就表现出了多态  多态在开发z


    博主:码农小胖哥
    出处:felord.cn
    本文版权归原作者所有,不可商用,转载需要声明出处,否则保留追究法律责任的权利。如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    web.xml报错
    mysql字符集问题汇总
    查询所有表中的某个数存储过程脚本
    SQL Server生成数据库的数据字典存储过程
    浏览器无法访问虚拟机的服务器
    搭建lnmp环境,nginx的配置文件/etc/nginx/nginx.conf
    在centos6.5下搭建lnmp
    Linux服务器关联Git,通过执行更新脚本实现代码同步
    CentOS yum 安装时错误 Errno 14 Couldn't resolve host 解决办法
    LinqToSQL3
  • 原文地址:https://www.cnblogs.com/felordcn/p/12142608.html
Copyright © 2011-2022 走看看