2022.3.13 面向对象

面向对象

类 = 属性 + 方法

  • 面向过程思想

    • 步骤清晰简单,第一步做什么,第二步做什么....

    • 面对过程适合处理一些较为简单的问题

  • 面向对象思想

    • 物以类聚, 分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。

    • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!

  • 对于描述复杂的事物,为了从宏观.上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

  • 面向对象编程(Object-Oriented Programming, OOP)

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

  • 抽象

  • 三大特性:

    • 封装

    • 继承

    • 多态

  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物(单独某个人)。类,是抽象的(人这个概念),是对对象的抽象(抽象,抽取相同点)

  • 从代码运行角度考虑是先有类后有对象。类是对象的模板。

对象:

对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

类:

具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

对象和类的关系:

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

声明:声明一个对象,包括对象名称和对象类型。

实例化:使用关键字new来创建一个对象。

初始化:使用new创建对象时,会调用构造方法初始化对象。

 1  public class Person{
 2  3     public Person(String name){
 4  5        //这个构造器仅有一个参数:name
 6  7        System.out.println("名字是 : " + name ); 
 8  9     }
10 11     public static void main(String[] args){
12 13        // 下面的语句将创建一个Person对象
14 15        Person p = new Person( "tommy" );   
16 17     }
18 19  }

 

有一种对象只叫对象,有一种对象叫实例化对象(实例)。

我们知道抽象类是不可以被实例化的,那它的对象就不能叫实例化对象,只能叫对象,如下:
Type type = typeof(int);//Type是抽象类,不允许实例化,这里的type是Type类的对象,而非实例化对象(实例)

而普通类的对象,既可以叫对象,也可以叫实例化对象(实例),如下:
1 public class Test03 {
2     public static void main(String[] args) {
3     Person person = new Person();//这里person既可以叫做Person类的对象,也可以叫实例化对象(实例)
4     }

 

posted @ 2022-03-13 15:08  暴躁C语言  阅读(28)  评论(0)    收藏  举报