A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面相对象基于面相过程,面相过程也是解决问题的一样思想,当我们需要解决一个问题时,我们需要设定好怎么一步步的去解决它,而具体的每
一步都需要我们自己亲自去完成,面对的是具体的每一个功能函数,功能相互协调完成需求。随着需求的更改和方法的增多,发现自己去实现每一个的功能
已近忙不过来了,所以我们就想到把这些方法都封装起来,当我们要解决这一类问题的时候,只需要找到封装这一类方法的实例,问题就很轻松了,我们就
会发现我们面对的是一个个的封装某一类功能的实例,这个实例就是对象,面向对象是解决问题的一种思维模式,将复杂的问题简单化。
        举例:!比如说想找朋友聊天,按照面向过程来理解就是找到朋友,让后面对面交流!用面向对象来理解就是把找到朋友这个过程封装起来,我们不
用管这个过程,利用一个对象来实现跟朋友聊天的功能,这个对象就是手机。面相对象中我们更多的是指挥者,使功能的实现更简单。
        在实际开发中在怎么理解面相对象 首先名词提炼法(由于任何对象都是Object类的子类,object就是物体的意思,就一名词),其次是说拥有数据,谁就
对外提供操作这些数据的方法。  
        面相对象有四个比较重要的特征(封装,继承,多态和抽象)
        |----封装:
。举例:比如说手机打电话,发短信的操作系统都在手机内部封装起来了,外部只给我们按键来使用。
        |----继承:只能单继承,接口可以实现多继承,继承就比如说10年前的手机,那种大哥大,只能够打电话和发短信,现在的手机继承了开始手机的打电话和发短信的功能,但是他又具备其他的特有功能,比如说聊QQ等等,
提高了程序的维护性(由继承保证)
提高了程序的扩展性(由多态保证)
        |----多态:多态是指事物存在的多种体现形式,提高了代码的复用性,打个比方 对于吃饭这件事.中国人是用筷子吃. 外国人呢用刀和差子就是同
一件事,不同的对象做起来,产生的效果会不一样.父类的引用指向子类对象,不过只能操作父类特有的方法,不能操作子类特有的方法,但是多态的转型能够
满足这一需求,向上转型Fu f =new Zi(); 向下转型 Zi z1 = (Zi)f; 多态前提:存在继承或者接口,当要使用子类特有功能时,就需要使用向下转
型,向下转型的好处:可以使用子类特有功能。弊端是:需要面对具体的子类对象;在向下转型时容易发生ClassCastException类型转换异常。在转换之前必
须做类型判断。
        |----抽象: 抽象就是把一个对象分析出各个属性, 来替代表达的手法 。
例如在编写学员管理系统。 学生的定义,首先要有名字,再有性别,再有学号,等等等等。这些就是抽象出来的属性。而在定义这些属性的时候就不要定义 a ="张三" b=1 c=122222 这些不容易辨识的属性名字。而是用 name="张三" sex="male" no="122223" 这样一眼能认出来的名字。这样不容易搞错,理解起来也不会困难。
抽象类:包含抽象方法的类,就是抽象类。 需要使用关键字 abstract修饰
        抽象方法:只有方法声明,没有方法体, 需要使用关键字 abstract修饰
       
        抽象类特点
                1:抽象类和抽象方法必须用abstract关键字修饰

        -一接口
比如说手机它实现一个接口能打电话和发短信,我们只要得到这个接口就能够知道这个类是用来描述一个手机的,
2.2抽象类和接口的区别(自己补)
第一点. 接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类中不一定都是抽象方法。
第二点. 接口可以继承,抽象类不行
第三点. 接口定义方法,不能实现,而抽象类可以实现部分方法。
第四点. 接口中基本数据类型为static 而抽类象不是的。
当你关注一个事物的本质的时候,用抽象类;当你关注一个操作的时候,用接口。

(面试题)内部类的访问特点:
                内部类可以直接访问外部类的成员,包括私有。
                外部类要访问内部类的成员,必须创建对象。
       
        内部类的分类:
                成员内部类: 类中方法外
                局部内部类: 方法内


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马