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 }

浙公网安备 33010602011771号