当前位置:   article > 正文

面向对象基本概念——类与对象_面向对象的对象和类

面向对象的对象和类

在学习面向对象编程时,我们始终离不开类和对象两个基本概念,

什么是类和对象?如何使用?

1、类和对象的理解

类:指的是对客观事物的一种描述,是对现实中一类具有共同属性和行为的事物的抽象。

对象:指的是具体存在的事物,是能够看得到摸的着的真实存在的实体。

举例说明:

我们可以将“汽车”看作一个类,在这个类中定义了汽车的属性和行为,比如颜色、品牌、速度等属性,以及加速、刹车、转弯等行为。

那么,当我们要描述具体一辆汽车时,就需要创建一个该类的对象,并根据需要设置其相应的属性值或对其进行行为操作。

另外,我们可以根据同一个类创建多个不同的对象,每个对象的属性值和行为可能都不同。例如一个品类的汽车肯定不止一台实车。

因此,也可以理解成,类表示的是共性,对象则用来表示具体个性。

2、类的组成

类由属性和行为两部分组成,

属性指的是事物的特征,在类中通过成员变量来体现(类中方法外的变量)。

行为指事物能执行的操作,在类中通过成员方法来体现。

3、类的定义和使用

在定义一个类时,需要指明类的属性和行为有哪些,即编写类的成员变量和成员方法。

定义一个类的基本格式:

  1. class 类名 {
  2. // 成员变量
  3. 数据类型 变量名1;
  4. 数据类型 变量名2;
  5. ...
  6. // 构造方法
  7. 类名(参数列表) {
  8. // 构造方法内容
  9. }
  10. // 成员方法
  11. 返回值类型 方法名1(参数列表) {
  12. // 方法体
  13. return 返回值;
  14. }
  15. 返回值类型 方法名2(参数列表) {
  16. // 方法体
  17. return 返回值;
  18. }
  19. ...
  20. }

成员变量

指在类中定义的用于描述对象属性或状态的变量,在类实例化后,每个对象都有自己独立的一份这些变量,并且可以根据需要进行读取、修改等操作。

成员方法

指在类中定义的用于完成某种特定功能的方法。与成员变量不同的是,成员方法属于类的行为或动作,必须通过实例化后才能被调用和执行,并可能对对象的属性或状态进行修改。此外,每个方法由返回值类型、方法名和参数列表三部分组成,可以根据自身需求为类定义任意数量、任意类型和任意名称的成员方法。

案例分析

  1. class Person {
  2. //成员变量
  3. String name;
  4. int age;
  5. public Person(String name, int age) { // 构造方法
  6. this.name = name;
  7. this.age = age;
  8. }
  9. public void sayHello() { // 成员方法
  10. System.out.println("Hello, my name is " + this.name);
  11. }
  12. public String getInfo() { // 成员方法
  13. return "Name: " + this.name +
  14. ", Age: " + this.age;
  15. }
  16. }

在案例中,定义了一个 Person 类来表示人这一概念,该类包含了 name 和 age 两个成员变量,以及 sayHello() 和 getInfo() 两个成员方法。

我们可以通过实例化 Person 类来创建不同的人,调用对应的成员方法来访问其属性或行为。

  1. Person p1 = new Person("Alice", 20);
  2. p1.sayHello(); // 输出:Hello, my name is Alice
  3. System.out.println(p1.getInfo()); // 输出:Name: Alice, Age: 20
  4. Person p2 = new Person("Bob", 25);
  5. p2.sayHello(); // 输出:Hello, my name is Bob
  6. System.out.println(p2.getInfo()); // 输出:Name: Bob, Age: 25

4、区分成员变量和局部变量

(1)成员变量

也称为类变量,通常位于类定义中,独立于任何方法之外。可以在类中的任何方法、构造函数或块中使用它们。

  1. public class Person {
  2. private String name; // 成员变量,表示Person对象的名字
  3. private int age; // 成员变量,表示Person对象的年龄
  4. public void sayHello() {
  5. System.out.println("Hi, my name is " + name + ", and I'm " + age + " years old."); // 可以在方法中使用成员变量
  6. }
  7. }

(2)局部变量

局部变量只存在于一个特定的代码块(比如一个方法、循环或者if语句块)中,其生命周期与代码块相同。局部变量一般用来存储临时信息。

  1. public void printSum(int x, int y) {
  2. int sum = x + y; // 局部变量,用来保存两个整数的和
  3. System.out.println("The sum of " + x + " and " + y + " is " + sum);
  4. }

小结

成员变量用于描述对象的属性,位于类定义中,在整个类范围内访问;局部变量只拥有自己所在的作用域内的访问权限,不属于对象属性范畴。

5、private关键字

用在哪里:用于修饰成员(成员变量和成员方法)

作用是什么:保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作:
(1)提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
(2)提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰

6、this关键字

当有多个同名变量存在时,this 可以用来区分成员变量和局部变量。

  1. public class Student {
  2. private String name;
  3. public void setName(String name) {
  4. this.name = name;
  5. }
  6. }

在Student中的 setName 方法中,形参也叫做 name,而成员变量也叫做 name,使用 this 可以区分二者。这里的 this.name 表示成员变量,name 表示参数变量。

over

O泡时间  

2023-5-18 15:15:19

念首诗

观刈麦

[唐] 白居易

田家少闲月,五月人倍忙。

夜来南风起,小麦覆陇黄。

妇姑荷箪食,童稚携壶浆,

相随饷田去,丁壮在南冈。

足蒸暑土气,背灼炎天光,

力尽不知热,但惜夏日长。

复有贫妇人,抱子在其傍,

右手秉遗穗,左臂悬敝筐。

听其相顾言,闻者为悲伤。

家田输税尽,拾此充饥肠。

今我何功德?曾不事农桑。

吏禄三百石,岁晏有余粮,

念此私自愧,尽日不能忘。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号