zoukankan      html  css  js  c++  java
  • 封装.继承.多态

    封装

    1.封装:隐藏类内部细节

    2.封装 步骤

      第一步:将属性私有化.(private)

      第二步:提供getter/setter方法(getXxxx(),setXxxx()).

      第三步:在getter/setter中加入控制语句.

    3. this关键词

      this:表示当前对象.

      调用属性:this.属性名

      调用方法:this.方法名();

      this():表示调用构造函数.

    注意:this(),必需写在构造函数的第一行.

    继承(extends)

    1. 继承:遗传

    2. 语法

      public class 子类 extends 父类{

        //代码块

      }

    例:public class Dog extends Pet {

        //代码块

    }

    3. 继承的特点

      a.子类可以继承父类的非私有的属性和方法

      b.不能继承构造方法

      c.继承默认权限修饰符的方法和属性,子类和父类必需在同一包中

    4. super(父类)

      super.属性名; //表示访问父类的属性

      super.方法名(参数); //表示访问父类的方法

      super(参数);//表示访问父类的构造函数;

    注意:super()访问父类构造函数时,必需写在第一行;

    多态

    1. 多态含义:一个事物的多种形态

    2. 多态的表现

      行为(方法)多态:重写和重载.

      引用多态(动态绑定):编译时的类型和运行时不一致的这种现象叫做动态绑定.

      例:父类 = 子类.

        pet p = new Dog();

    3.向上转型和向下转型

      向上转型:父类 = 子类;

      向下转型:子类 = (子类)父类;

      例:Dog d = Dog()p;

    注意java.lang.ClassCastException:类型转换异常.

        父类的运行时类型跟要转成的子类的类型不一致

    注意:引用多态存在继承关系

    instanceof

      语法:对象A instanceof 类型B;

      判断对象A的类型是否是类型B,如果是就返回true,否则返回false.

      例:d instanceof Dog

    实现多态的两种形式

      a.使用父类作为方法形参实现多态

        public void play(Pet p){}

      b.使用父类作为方法返回值实现多态

        public Pet getPet(int type){}

    Hold on!
  • 相关阅读:
    使用Boost::ptime构建高精度计时器
    static和extern
    通用js地址选择器
    js模拟抛出球运动
    前端用Webpact打包React后端Node+Express实现简单留言版
    webpack 打包一个简单react组件
    img及父元素(容器)实现类似css3中的background-size:contain / background-size:cover
    通用js函数集锦<来源于网络> 【二】
    通用js函数集锦<来源于网络/自己> 【一】
    向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)[上拉加载组件]
  • 原文地址:https://www.cnblogs.com/linjiaxiaomeiainia/p/6832929.html
Copyright © 2011-2022 走看看