面向对象

面向对象

 

面向过程和面向对象

  • 面向过程思想

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

    • 面对过程使用于处理一些简单的问题

  • 面向对象思想

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

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

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

什么是面向对象

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

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

  • 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象,行为抽象,抽象只关注对象有哪些属性和行为,不关注细节

  • 三大特征

    • 封装:封装就是把数据,封装(包装)起来,对外提供一个小口从外部去访问

    • 继承:继承的话也就是源自于生活的,就跟儿子可以继承父亲的一些东西一样,在我们编程中,a类继承b类,那么a类就可以继承b类所有的东风西

    • 多态:多态目前我们了解一下就好,比如说都是我们学习的方法,学习这个方法都是属于人的,人去学习,但是人可有分为好多不同的人,比如说小明他学习比较好,通过学习这个方法学到了很多知识,小红学习不好他通过这个方法学习到的知识就不如小明多。虽然说他们两个都会执行这个学习的方法,但是学出来的东西是完全不一样的,就是同一个事物他会有多种形态,我们都是这个但是表现出来的形态都不一样

  • 从认识的角度考虑咱们是先有对象后有类,对象是具体事物。类是抽象的,是对象的抽象

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

类与对象的关系

  • 类是一种抽象的数据类型,它是对某一类事物成体的描述,定义,但并不能代表某一个具体的事物

    • 像我们生活中的类就有:动物,植物,手机电脑.......等

    • 而代码中就是:Person类,Pet类,Car类等,这些类都是用来描述,定义某一类具体的事物应该具备的特点和行为

  • 对象是抽象概念的具体实例

    • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例

    • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念

创建与初始化对象

  • 使用 new 关键字创建对象

  • 使用 new 关键字创建的时候,除了分配内存空间之外,还会给,创建好的对象,进行默认的初始化以及对类中构造器的调用

 

 

  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的,

 

 

  • 构造器的特点:

    1. 和类名相同

    2. 没有返回值

  • 作用:

    1. new 本质在调用构造器 2.初始化对象值

  • 注意:

    1. 定义构造器之后,如果想使用无参构造,必须显示的定义一个无参构造

    2. 构造器无参构造器里面也可以进行赋值

小结

  1. 类与对象

    • 类是一个模板:抽象,对象是一个具体的实例

  2. 方法的定义和调用

  3. 对应的引用

    • 引用类型 八大基本类型

    • 对象是通过引用来操作的:栈------>堆

  4. 属性:字段Field 成员变量

    • 默认初始化

      • 数字:0 0.0

      • char:u0000

      • boolean:false

      • 引用 字符串:null

      修饰符 属性类型 属性名 = 属性值!

  5. 对象的创建和使用

    • 必须使用 new 关键词创造对象,构造器 Person dengyi = new person();

    • 对象的属性 dengyi.name

    • 对象的方法 dengyi.sleep

  6. 类:

    • 静态的属性 属性

    • 动态的行为 方法

posted @ 2021-05-22 11:56  山水有相逢dy  阅读(51)  评论(0)    收藏  举报