面向对象的特征(封装、继承、多态)

面向对象的特征(封装、继承、多态)

  1. 封装的概念:类中成员,不进行封装:不安全测试

                1).现在在当前类中,如果Student类中的成员,不进行封装,随便修改,访问!

               2).给成员提供private权限之后,外部根本没法用!

2.权限的介绍

        访问权限修饰符: private < 默认不写(注意不要添加default修饰)<  protected < public

        private :私有的 最小权限,被它修饰的成员只能够在本类中可以访问到;

        public  :公共的 最大权限,任何地方和任何人都能访问;

3.封装的步骤及分析

在Java 中的体现及步骤

        1)把类中的字段私有化;

        2)给每一个字段都提供一组getter  setter方法  (方法的规范写法);setXxx,

        在测试类中尝试创建对象,并通过调用getter setter方法完成 对字段的赋值和取值;

        3)提供一个无参数的构造方法

4.封装的注意事项

注意:如果字段类型是boolean sex;

  方法名字规范:

  setSex

 getSex---变成---->isSex

5.继承的概念

继承的概念:

        1).问题:类的公共属性【字段,方法】

        2).把公共的属性提取出来形成一个公共的类,让其他的类去继承:减少代码的冗余度

        3).系列认识结合课件

6.继承的语法及可继承的东西

        继承的语法:

            class A{}

            class B extends A{}

            B这个类继承到了A类

        1)    思考 : 一个父类中可能有哪些?    字段  方法  构造方法

        2)   思考 : 可能还和访问权限有关     private  public

        3)验证 :非私有的字段 和方法 可以被继承到(暂时这样记忆-主要是从是否可以访问的层面考虑)

        4)构造方法不能够被继承:java规定

        5)子类可以继承到父类的特性class MyFrame extends java.awt.Frame{}

​​​​​​​7.继承的特点

        1).Java中类的继承只能够是单继承:

        【一个儿子只有一个亲爹】

        2)可以支持多重继承

        【间接父类:类是可以有老祖宗的】

        3)每一个类都有一个直接父类:           【一个人一定是有亲爹的】

  如果没有看到显示的继承代码,那么就隐式继承就Object

 【你自己没有整一个爹,安排一个爹】

​​​​​​​8.多态的概念+参考课件

    1)Animal aml = new Person();//一个动物变量中,可能存放子类对象的多种可能

    2.)理解:使用aml:编译是看的是Animal类型,运行时看的是实际存放的对象[真实类型]

    3)官方概念:编译时跟运行时类型不一致就产生了多态

    4)民间理解:父类类型的变量,存放子类类型的对象,可能存放子类类型的对象有多种可能

    5)多态存在的前提:必须有继承关系

​​​​​​​9.多态的编译时运行时过程

    1)编译时,看的是父类类型,会现在父类中,看有不有对应的方法,如果没有继续向上找{更高父类}

      如果找到了,编译通过,如果找不到,编译失败报错

    2)运行时:看真实类型,如果在真实类型中找到了,就运行真实类型中的函数,如果没有找到,向上找

​​​​​​​

转载于:https://my.oschina.net/u/4083666/blog/3028832

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值