17-面向对象介绍,类和对象

文章介绍了面向对象编程的核心概念,包括类、对象、封装、继承和多态,以及其优点如可维护性、可扩展性和代码重用。在Java中,类是对象的蓝图,定义了属性和行为,而对象是类的实例,拥有状态和行为。通过构造方法创建对象,并通过方法调用交互。
摘要由CSDN通过智能技术生成

一、面向对象编程

面向对象(Object-Oriented,简称为OOP)是一种计算机编程的思想和方法,它将程序设计问题分解成对象的集合,并通过对象之间的交互来解决问题。

在面向对象编程中,将真实世界中的事物抽象成对象,每个对象包含自身的数据(成员变量)和操作数据的方法(成员方法)。对象根据各自的特性和行为相互关联,通过消息传递(方法调用)进行交互。这种方式使得代码更加模块化、可重用,并能更好地反映问题领域的结构和关系。

面向对象编程的核心概念包括以下几个方面:

  1. 类(Class):类是对象的模板或蓝图,定义了对象的属性和行为。它是创建对象的基础,描述了对象的结构和行为特征。

  2. 对象(Object):对象是类的实例,具体的个体。每个对象都有自己的状态(属性值)和行为(方法),并能与其他对象进行交互。

  3. 封装(Encapsulation):封装是一种将数据和相关方法放在一个单元中的机制。通过封装,对象的内部实现细节被隐藏,只对外提供必要的接口,实现了信息的隐藏和保护。

  4. 继承(Inheritance):继承是一种通过定义新类来扩展和继承现有类的属性和方法的机制。它实现了类之间的关系,使得代码的复用性更高,并能建立更加抽象的层次结构。

  5. 多态(Polymorphism):多态是指同一操作在不同对象上可以有不同的行为,提供了灵活性和扩展性。通过多态,可以编写出更通用、可扩展的代码。

面向对象编程具有以下优点:

  • 可维护性:面向对象的程序易于理解和修改,因为各个对象的职责分明,修改一个对象的行为不会对其他对象造成影响。
  • 可扩展性:通过继承和多态的特性,可以方便地创建新类并进行功能扩展,而无需修改现有代码。
  • 代码重用:通过封装和继承,可以将已有的代码模块化和复用,提高开发效率。
  • 抽象和模型化:面向对象编程使代码能够更好地反映问题领域的结构和关系,提供了更高层次的抽象和模型化能力。

二、类

Java 类是一种自定义数据类型,在面向对象编程中起到了至关重要的作用。类可以看作是一个对象的蓝图,它定义了对象的属性和行为,并提供了操作对象的方法。在 Java 中,类是所有对象的基础,是构建应用程序的核心。

在 Java 中,定义一个类通常包括以下几个组成部分:

  • 类名:用于标识类的名称,遵循命名规范。
  • 属性:也称为字段(Field),用于存储类的数据。
  • 方法:用于定义类的行为和操作。
  • 构造方法(Constructor):用于初始化对象的属性。
  • 其他特殊方法:如 toString()、equals() 和 hashCode() 等。

以下是一个 Java 类的基本结构:

public class ClassName {
    // 属性(即字段)
    access_modifier data_type variable_name;

    // 构造方法
    access_modifier ClassName (parameter_list) {
        // 对象属性初始化
    }

    // 方法
    access_modifier return_type method_name (parameter_list) {
        // 方法体
    }
}

其中,access_modifier 是访问控制修饰符,用于指定类、属性和方法的可见性;ClassName 表示类的名称,遵循驼峰命名法;data_type 是属性的数据类型;variable_name 是属性的名称;parameter_list 是构造方法或方法的参数列表;return_type 是方法返回值的数据类型;method_name 是方法的名称;方法体则是实现具体功能的代码。

public class Person {

    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public void sayHello() {
        System.out.println("Hello, my name is " + name + ", and I am " + age + " years old.");
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

在上述代码中,Person 类包含了两个属性和三个方法。具体解释如下:

  • 属性(即字段):name 和 age 都是私有属性,它们只能在该类中访问或修改;access_modifier 使用了默认的访问控制修饰符 private。
  • 构造方法:Person() 是一个构造方法,它用于初始化 Person 类的对象属性。当创建 Person 类的对象时,将自动调用该构造方法对对象进行初始化。
  • 方法:sayHello() 方法输出一条问候语,调用该方法可以在控制台中输出相关信息;getName() 方法用于获取对象的名称;setAge() 方法用于设置对象的年龄。

Java 类是面向对象编程的基础,通过定义类,我们可以创造出具有相同属性和方法的多个对象实例,从而提高代码的灵活性和可重用性。

三、对象

Java 对象是类的实例化结果,是类中变量和方法的具体实现。在 Java 中,每个对象都有自己的状态(即属性)和行为(即方法),并且可以被其他对象引用、调用和操作。

对象通常由构造方法创建。构造方法是一种特殊类型的方法,在创建对象时被自动调用,用于初始化对象的属性。例如,以下代码创建了一个 Person 类的对象:

Person person = new Person("Tom", 20);

在这里,new 关键字用于创建一个新的 Person 对象,Person() 构造方法用于初始化该对象的属性。通过 . 运算符可以调用对象的属性和方法:

System.out.println(person.getName()); // 输出 "Tom"
person.setAge(21); // 修改年龄为 21
person.sayHello(); // 输出 "Hello, my name is Tom, and I am 21 years old."

上述代码中,getName() 和 setAge() 方法用于获取和设置 Person 对象的属性值,而 sayHello() 方法用于输出问候语。注意到这里使用的都是对象的实例方法,也就是说,它们只能通过对象来调用。

对象的状态和行为都是由所属的类定义的。例如,在 Person 类中,每个对象都有一个 name 和 age 属性,并可以执行 sayHello() 方法。对于不同的对象,它们的属性值可能不同,但是方法是相同的。

Java 语言中的对象有以下特点:

  1. 对象具有唯一的标识符,即它的地址。在程序运行时,每个对象都位于内存中的不同位置。
  2. 对象是动态创建和销毁的。当对象不再被使用时,它会自动被垃圾回收器回收并释放内存空间。
  3. 对象可以被传递和用作参数或返回值。在方法调用过程中,如果传递的是对象,实际上传递的是对象的引用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值