相关推荐recommended
【我与java的成长记】之面向对象的初步认识
作者:mmseoamin日期:2024-02-04

【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第1张

系列文章目录

能看懂文字就能明白系列

C语言笔记传送门

🌟 个人主页:古德猫宁-

🌈 信念如阳光,照亮前行的每一步


文章目录

  • 系列文章目录
    • 🌈 *信念如阳光,照亮前行的每一步*
    • 前言
    • 一、什么是面向对象
      • 面向过程与面向对象
      • 什么是面向过程
      • 什么是面向对象
      • 二、类的定义和使用
        • 简单认识类
        • 类的定义格式
        • 三、类的实例化
          • 什么是实例化
          • 类和对象的说明
          • 总结

            前言

            本节目标:

            1. 了解什么是面向对象,与面向过程的区别
            2. 掌握类的定义方式以及对象的实例化
            3. 掌握类中的成员变量和成员方法的使用

            一、什么是面向对象

            面向过程与面向对象

            大家都知道Java是一种面向对象的开发语言,那么什么是面向对象呢?

            所谓面向对象,其实是指软件工程中的一类编程风格,面向对象是众多编程风格中的一种。除了面向对象,还有面向过程,指令式编程和函数式编程等。

            什么是面向过程

            面向过程(Procedure Oriented)是一种以过程为中心的编程思想,是一种自顶而下的编程模式。比如经典的C语言就属于这种面向过程的语言

            在这种编程模式中,程序员需要把问题分解成一个个步骤,每个步骤用函数实现,依次调用即可。

            基于面向过程进行的软件开发,其代码都是流程化的,可以明确地看出第一步做什么,第二步做什么(讲究的是一种过程)。这种方式的代码执行起来效率很高。

            但是,面向过程同时存在代码重复性低,扩展能力差,后期维护难度较大等问题。

            如下图:

            【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第2张

            这种方式注重的是洗衣服的过程,少了一个环节可能都不行,而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就是另一种方式。

            什么是面向对象

            面向对象(Object Oriented)的雏形最早出现在1960年的Simula语言中。当时的程序设计领域正面临一种危机:在软硬件逐渐复杂的情况下,软件如何得到良好的维护?

            面向对象程序设计在某种程度上通过强调可重复性解决了这一问题。

            目前,较为流行的面向对象语言主要与Java,C#,C++,Python,Ruby和PHP

            简单来说,在面向对象的开发模式中,程序员将问题分解为一个个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。

            在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

            如下图:

            【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第3张

            总共有四个对象:人,衣服,洗衣粉,洗衣机

            整个洗衣服的过程:人将衣服放进洗衣机,倒入洗衣粉,启动洗衣机,洗衣机就会完成洗衣过程并且甩干

            整个过程主要是:人,衣服,洗衣粉,洗衣机四个对象之间交互完成的,人不需要关心洗衣机具体是如何洗衣服的,是如何甩干的

            二、类的定义和使用

            面向对象程序设计关注的是对象,而对象是现实中的实体,比如:洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉计算机什么是洗衣机。

            【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第4张

            上图左侧就是对洗衣机简单的描述,该过程称为洗衣机对象(实体)进行抽象(对一个复杂事物的重新认识),但是这些简化的抽象结果计算机也不能识别,开发人员可以采用某种面向对象的编程语言来进行描述。

            简单认识类

            类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。

            比如:洗衣机,它是一个品牌,在Java中可以将其看成是一个类别。

            属性:产品品牌,型号,产品重量,外观尺寸,颜色…

            功能:洗衣,烘干、定时…

            类的定义格式

            在Java中定义类时需要用到class关键字,具体语法如下:

            //创建类
            class Classname{
                field;//————字段(属性)或者成员变量
                method;//————行为或者成员方法
            }
            

            上面的代码中,class为定义类的关键字,Classname为类的名字,{}中为类的主体。

            类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量(成员变量分为普通成员变量和静态成员变量)。方法主要说明类具有哪些功能,称为类的成员方法(成员方法也分为普通成员方法和静态成员方法)。

            class WashMachine{
               public String brand;   // 品牌
               public String type;    // 型号
               public double weight;  // 重量
               public double length;  // 长
               public double width;  // 宽
               public double height;  // 高
               public String color;   // 颜色
               
               public void washClothes(){   // 洗衣服
                   System.out.println("洗衣功能");
              }
               
               public void dryClothes(){    // 脱水
                   System.out.println("脱水功能");
              }
               
               public void setTime(){       // 定时
                   System.out.println("定时功能");
              }
            }
            

            注意:

            1. 一般一个文件当中只定义一个类
            2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)
            3. public修饰的类必须要和文件名相同
            4. 不要轻易去修改public修饰的类的名称
            5. 每一个类都会产生一个字节码文件

              【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第5张

            三、类的实例化

            什么是实例化

            定义了一个类,就相当于在计算机定义了一种新的类型,与int,double类似,只不过int和double是Java语言自带的内置类型,而类是用户自定义的一个新的类型,比如上述的:person类,有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)

            用类类型创建对象的过程,称为类的实例化,在Java中采用new关键字,配合类名来实例化对象。

            如下图:

            【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第6张

            注意事项:

            1. new关键字用于创建一个对象的实例
            2. 使用 .来访问对象中的属性和方法
            3. 同一个类可以创建多个对象

            类和对象的说明

            • 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员
            • 类是一种自定义的类型,可以用来定义变量
            • 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量
            • 做个比方:类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间

              【我与java的成长记】之面向对象的初步认识,在这里插入图片描述,第7张

              上图左边为栈区,右边为堆区


              总结

              • 所以的Java程序都定义在类中
              • 类如同蓝图描述该类型的对象要如何创建
              • 对象自治:我们无需在意它如何完成任务
              • 对象有已知的事物,并能执行工作
              • 对象本身已知道的事物称为成员变量(或者实例变量),它代表对象的属性(状态)
              • 对象可执行的动作称为成员方法,它代表对象的行为
              • 创建类时,可能同时会需要创建独立的类,和一个专门测试的类