首页 > 其他分享 >你是怎么理解面向对象思想的?

你是怎么理解面向对象思想的?

时间:2023-06-02 11:06:32浏览次数:21  
标签:name 思想 gender age 学生 面向对象 理解 score public

你是怎么理解面向对象思想的?_面向对象

简单来讲,假设现在有一个学生成绩管理系统,我们要统计很多学生的成绩,那么我们首先就需要先定义一个名为Students的类(因为学生这个对象的特性都是相同的,所以我们就利用“类”生产出很多同类的“产品”,而这个产品就是学生对象,这个类为了产出多个学生对象的“模具”)而该类的属性包括:学生姓名、学生年龄、学生性别、学生成绩,并且我们还需要为该类添加方法以此来获取和设置这些属性。

public class Students {

    // 学生姓名
    private String name;
    // 学生年龄
    private int age;
    // 学生性别
    private char gender;
    // 学生成绩
    private double score;
    
    // 无参构造方法
    public Students() {
   }
    
    // 有参构造方法
    public Students(String name, int age, char gender, double score) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.score = score;
    }
    
    // get方法
    public String getName() {
        return name;
    }
     
     public int getAge() {
        return age;
    }

     public char getGender() {
        return gender;
    }
     
     public double getScore() {
        return score;
    }

    // set方法
     public void setName(String name) {
        this.name = name;
    }
  
     public void setAge(int age) {
        this.age = age;
    }
  
    
     public void setGender(char gender) {
        this.gender = gender;
    }
      
     public void setScore(double score) {
        this.score = score;
    }
}

在上面的代码中:

我们定义了一个学生类:Students;

声明了4个私有实例变量:即:学生姓名、学生年龄、学生性别、学生成绩;

添加构造方法:方便我们可以为学生对象设置这些属性;

例如,我们创建一个“加瓦”的学习对象,并将其年龄设置为20岁:

Students student = new Students("加瓦", 20, 'M', 90.5);
student.setAge(19);
System.out.println(student.getName() + " is " + student.getAge() + " years old.");

在上述代码中:

我们首先使用构造函数创建了一个名为“加瓦”的对象,并设置年龄20岁,性别:男,成绩:90.5;

然后又使用settr()方法将其年龄更改为19岁;

最后在输出语句中直接调用getter()方法输出学生的姓名和年龄。

上述这个例子就可以帮助大家理解下面向对象的思想,因为我们将学生对象视为一个“类”,并通过添加实例变量和方法来定义其属性和行为,我们可以创建多个学生对象,每个对象都具有相同的属性和方法。此外,我们还使用getter()和setter()方法来访问和修改对象的状态,当然这个是封装概念的体现,这些属性和方法的定义以及使用都是基于面向对象的思想。

你是怎么理解面向对象思想的?_构造方法_02

标签:name,思想,gender,age,学生,面向对象,理解,score,public
From: https://blog.51cto.com/u_15739596/6400723

相关文章

  • 通俗易举例说明面向对象和面向过程有什么区别
    一. 面向对象1. 概念可以说,在面向对象的编程规范中,“一切皆对象”,对象就是面向对象编程的核心。我们把现实世界中的一个个对象或物体,抽象地体现在编程世界中。就好比我们想驾驶一辆奥迪A6,A6就是一个对象,制造商给A6赋予了各种功能和特性,我们就可以调用这个对象完成一系列操控。所......
  • async await重新理解
    去年python学asyncawait时候完全没有理解,写出来很多伪异步代码,现在重新理解await是挂起当前协程,然后运行其他携程示例1#定义一个异步函数asyncdefcount_up_to(number):print("开始计数")foriinrange(1,number+1):print(i)awaitasyncio......
  • if if else else 多选的理解
    packagecom.fqs.test;importjava.util.Scanner;publicclasshello{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请在键盘输入1到100间的儿子成绩");intmy_num=sc.nextInt();//键盘......
  • R数据分析:多项式回归与响应面分析的理解与实操
    今天给大家分享一个新的统计方法,叫做响应面分析,响应面分析是用来探究变量一致性假设的(Congruencehypotheses)。本身是一个工程学方法,目前在组织行为学,管理,市场营销等等领域中使用越来越多。Congruencehypothesesstatethattheagreement(i.e.,congruence)betweentwoconst......
  • 立flag 理解 if else分支
    packagecom.fqs.test;publicclasshello{publicstaticvoidmain(String[]args){booleanflag=true;//立一个flag开始走分支真代表能喝;假代表不能喝if(flag)//flag为真,能喝System.out.print("能喝!");else{Sy......
  • ROS2-Beginner:7-理解行为
    背景行为ROS2中的一种通信类型,用于长时间的运行任务。由三个部分组成:目标,反馈以及结果。行为建立在话题和服务之上的。他们的功能类似于服务,但可以取消操作。他们还提供了稳定的反馈,而不是返回单一的响应的服务。行为使用了一个客户端-服务器模型,类似于发布者和订阅者。一个行......
  • ROS2-Beginner:5-理解服务
    背景服务是rosgraph中另一种通信方法。服务是基于调用和响应相比话题是发布者和订阅者模式。话题允许节点来订阅数据流并获得连续的更新。服务只当被具体客户端调用时才提供数据。任务1、打开turtlesim仿真器ros2runturtlesimturtlesim_noderos2runturtlesimturtle......
  • ROS2-Beginner:3-理解节点
    目标:学习ROS2中节点的功能,以及与他们交互的工具背景1、ROS2graphROS图是ROS2元素同时一起处理数据的网络。它包含了所有可执行文件以及它们之间的连接,如果您要将它们全部映射出来并可视化的话。2、在ROS2中的节点在ROS中的每一个节点都应该负责单一的模块化目的,例如控制车轮......
  • Base64学习理解
    Base64是用64个可打印的字符来描述数据的编码方式为什么要整这个Base64呢,那是因为有的时候我们需要以可打印的字符串的形式传递数据,比如url传递之类的假设有个4字节的数据[97,32,245,0],我们要把它转成可打印的字符串的形式,首先不能直接把它转成字符串,因为ASCII中有不可打印......
  • 软件测试的理解
      IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。    测试对象:软件需求、软件概要设计、软件详细设计、软件源代码、可运行程序、软件运行环境。覆盖到软件研发过程中的方方面面    五大要素......