面向对象思想

面向过程
面向过程也是解决问题的一种思想,当我们在解决问题时,会按照预先设定的想法和步骤,一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。
面向过程,其实就是面向着具体的每一个步骤和过程,就是面对具体的每一个功能函数。这些功能函数相互调用,完成需求。

面向对象
面向对象是基于面向过程,对象是将功能进行了封装。只要找到了具体的类,创建出对象,就可以调用其中的具体功能。面向对象也是用来解决问题的一种思维模式。
在以后开发中,先找对象,调用对象中的具体功能。如果真的没有能够完成需求的对象,这时就自己创建对象,并将所需的功能定义到对象中,方便以后使用。
注:分类的思想

面对过程和面对对象的区别

  • 面向对象是一种更符合人们思考习惯的思想
  • 面向过程中更多的体现的是执行者,面向对象中更多的体现是指挥者。指挥对象做事情
  • 面向对象将复杂的问题简单化
  • 在面向对象的世界中:万事皆对象(但不要随便说)

对象

对象(Object)代表现实世界中可以明确标识的一个实体。

  • 一个对象的状态(state,也称为特征(property)或者属性(arrtibute))是由具有当前值的数据域来表示的。
    例如:圆对象具有一个数据域radius,它是标识圆的属性。一个矩形对象具有数据域width和height,它们都是描述矩形的属性。我们一般把对象的特有属性称之为成员
    变量。
  • 一个对象的行为(behavior,也称为动作(action))是由方法定义的。调用对象的一个方法就是要求对象完成一个动作。
    例如:可以为圆对象定义一个名为getArea()和getPerimeter()的方法。圆对象可以调用getArea()返回圆的面积,调用getPerimeter()返回它的周长。我们一般把对象的行为称之为成员函数。

对象的创建

类型 对象名称 = new 类型名称()【构造方法】

在这里插入图片描述

对象的属性赋值

  • 对象名称.属性名称 = 值;
    如果访问属性的值
  • 对象名称.属性名称

调用对象的方法

对象名称.方法名称([参数列表]);

//成员变量(属性)
    int age;
    double height;
    String name;
//成员行为
    public void eat() {
    } 
    public void sleep() {
    } 
    public void study() {
    } 

注:如果对象的属性没有初始化值,则java会默认给与对象属性初始化值

  • 如果是对象:默认就是null
  • 如果是整数:默认是0
  • 如果是浮点数:默认是0.0
  • 如果是字符类型:默认是’ ’
  • 如果是boolean类型,默认就是false

在这里插入图片描述
在这里插入图片描述

使用一个通用类来定义同一类型的对象。类是一个模板、蓝本或者说是合约,用来定义对象的数据域是什么以及方法是做什么的。一个对象是类的一个实例。
类是用于描述现实事物的,它将现实事物进行抽象化,模板化描述。将事物的特点(属性)和行为封装在其中。比如小汽车的图纸,图纸就是小汽车的模版。图纸上画着小汽车的各种特点和功能要求。

类的定义

使用关键字class
访问修饰[public | private | protected | 默认] class 类名称 {
}

public class Name{
}

注:
一般将java代码,写在一个Xxx.java文件,这个文件就是一个类,
如果这个文件中存在多个类,注意:public只能修饰Xxx类(就是和文件名称相同的类,其他的类都不能使用public关键字修饰)
如果要在该文件中写main函数,只能也写在这个类

输入半径,求圆的周长和面积
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

构造函数

从字面上理解即为构建创造时用的函数,即就是对象创建时要执行的函数。
既然是对象创建时要执行的函数,那么只要在new对象时,知道其执行的构造函数是什么,就可以在执行这个函数的时候给对象进行属性赋值。

构造函数的格式

权限修饰符 构造函数名 (参数列表){
语句;
}

在这里插入图片描述

注:

  • 构造函数没有返回值类型。也不需要写返回值。因为其是为构建对象的,对象创建完,函数就执行结束。
  • 构造函数名称必须和类型保持一致。
  • 构造函数没有具体的返回值。
  • 一个类中可以有多个构造函数,多个构造函数是以重载的形式存在的。
  • 构造函数中也是有return语句的,用于结束初始化动作。
  • 构造函数是可以被private修饰的,作用:其他程序无法创建该类的对象。

构造函数和一般函数的区别

  • 构造函数在对象创建时就执行了,而且只执行一次。
  • 一般函数是在对象创建后,需要使用时才被对象调用,并可以被多次调用。

this调用构造函数
构造函数之间的调用可以通过this关键字来完成。
构造函数调用格式:

this(参数列表);

  • this代表的是对象,哪个对象调用了this所在的函数,this就代表哪个对象。
  • 调用其他构造函数的语句必须定义在构造函数的第一行,原因是初始化动作要最先执行。
  • 构造函数之间禁止出现相互调用的情况

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐