面对对象的特征

一、面对对象的四种特征:

1、封装

将对象封装成一个高度自治和相对封闭的个体,对象属性有这个对象自己的方法来读取和改变。

封装是为了保证软件内部具有优良的模块性的基础,其目的是实现软件部件的“高内聚,低耦合”。

2、继承

在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并且可以接进行修改和添加新的内容。

3、抽象

抽象就是找出一些事物的相似和共性,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,并且会忽略与当前主题和目标五官的那些方面,将注意力集中在与当前目标有关的方面。

4、多态

  4.1 定义:

  指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。

扫描二维码关注公众号,回复: 11261401 查看本文章

  栗子:有小说(小说)

    小说 a  = '天官赐福';// TGCF

    小说 b = '伪装学渣';// WZXZ

    小说 c = '破云';// PY

    简单的理解,小说是父类,a,b,c是子类,我们通过小说这个父类可以引用到不同的子类,即多态。但是多态须知的是“向上转型。(说明白点就是继承)

    创建一个父类方法:

 1 public class NOVEL {
 2  
 3     public void fun1() {
 4       System.out.println("NOVEL中的fun1");
 5       fun2();
 6     }
 7  
 8  
 9   public void fun2() {
10      System.out.println("NOVEL中的fun2");    
11   }
12 }

  创建子类方法继承:

public class TGCF extends NOVEL{
 
  // 子类重载父类方法,父类中不存在该方法,向上转型后,子类是不能引用该方法的
   public void fun1(String a) {
     System.out.println("TGCF中的fun1");
     fun2();
   }
 
  //子类重写父类方法,调用必定使用这个方法
   public void fun2() {
     System.out.println("TGCF中的fun2");
   }
}

public class DuoTaiTest { 
   public static void main(String[] args) {
     NOVEL a = new TGCF(); // 向上转型
     a.fun1();
  }
}
//output:
//NOVEL中的fun1
//TGCF中的fun2

  4.2 实现方法

(1)继承:在多态中必须存在有继承关系的子类和父类

(2)重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法

(3)向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法

二、对面对象(OOP)和面向过程的区别

1、面对对象:面对对象的概念或者特征可以解释为:类、对象、继承、封装、多态。

  1.1 类(class):类是对大量对象共性的抽象,是客观在人脑海中行程的主观反映,是创建对象的模板。其组成为:属性、方法。

  12 对象:一切客观存在的事物都是对象。对象的组成:属性、行为(方法)。

2、和面向过程的区别:

面向过程:是具体化、流程化的解决一个问题需要一步一步分析和实现的。

面向对象:模型化的,只需抽象出一个类,类里面有数据和解决问题的方法,只需要会用不需要考虑如何实现。


 栗子:有一天你想吃鱼香肉丝,有两种方法:

①自己买菜(先买肉,再买...),然后自己切菜(先切肉,再处理...),然后炒菜,然后盛到盘子里;(面向过程)

②去饭店,点单,等待老板做好了就可以直接吃,不需要会知道怎么炒的。(面向对象)

猜你喜欢

转载自www.cnblogs.com/Tibbers/p/12952557.html