有人会在setter和getter中检查我的代码,只是为了确保它是正确的

本文关键字:确保 代码 setter getter 我的 检查 | 更新日期: 2023-09-27 18:30:31

我收到一个错误:方法"setTemp"没有重载需要 1 个参数

我只需要帮助更改类中的方法,以作为速度和温度属性的适当获取者和设置器。使用与以下输出中所示相同的值,速度为 50,温度为 70.5。更改方法setSpeed(),getSpeed(),setTemp()和getTemp()。

创建一个名为 ford 的 Car 对象。使用设置器设置速度和温度的速度。使用吸气剂打印出速度和温度的值。

using System; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text;
namespace Assignment13 {
    class Car {
        int Speed = 50;
        double Temp =70.5;
        private int Speed;
        public void setSpeed(int speed) {
            this.Speed = 0;
        }
        public int getSpeed() {
            return Speed;
        }
        private int Temp;
        public void setTemp() {
            this.Temp = 0;
        }
        public int getTemp() {
            return Temp;
        }
    }
    class Program {
        static void Main(string[] args) {
            Car ford = new Car();
            ford.setSpeed(65);
            ford.setTemp(120);
            Console.WriteLine("Speed = " + ford.getSpeed());
            Console.WriteLine("Temp = " + ford.getTemp());
            Console.Write("Hit any key to close"); Console.ReadKey(true);
        }
    }
}

有人会在setter和getter中检查我的代码,只是为了确保它是正确的

类表示事物的抽象。每当你设计一个类时,你应该确保以下内容(如果我错过了什么,其他人可以添加):

  1. 确保所有相关的数据和操作都属于同一类。
  2. 不要将班级的内部暴露给外部世界。而是提供一个接口到世界来使用该类。
  3. 如果定义某个实例变量,请检查它是否遵循 has-a 关系
  4. 如果你从某个超类继承了这个类,请检查它是否遵循 is-a 关系
  using System; 
   using System; 
    using System.Collections.Generic; 
   using System.Linq; 
  using System.Text;
     namespace Assignment13
    {
     class Car
{
    int speed = 0;
    double temp =0;
    private int Speed;
    public void setSpeed(int speed)
    {
        this.speed = 50;
    }
    public int getSpeed()
    {
        return speed;
    }
    private double Temp;
    public void setTemp(double temp)
    {
        this.temp = 70.5;
    }
    public double getTemp()
    {
        return temp;
    }
}
class Program
{
    static void Main(string[] args)
    {
        Car ford = new Car();
        ford.setSpeed(50);
        ford.setTemp(70.5);
        Console.WriteLine("Speed = " + ford.getSpeed());
        Console.WriteLine("Temp = " + ford.getTemp());
        Console.Write("Hit any key to close"); Console.ReadKey(true);
    }
}

}

  1. 您已在类中定义了两个"Speed"变量,但每个范围只能声明一次变量名称。

    int Speed = 50;
    double Temp =70.5;
    private int Speed;
    
  2. setr 用于赋值,它们应始终有一个参数,并且该参数应用于赋值实例或类变量。 这是"setSpeed"的更正版本。

     public void setSpeed(int speed)
     {
         this.speed = speed;
     }
    

在这种情况下,您将忽略参数"speed"并将this.speed分配给常量值。 这种默认赋值应该在构造函数中完成。

  1. 这个二传手是你错误的起源:你有一个没有参数的二传手,这应该是一个危险信号。 在这种情况下,您应该在 setTemp() 中添加 1 个参数 "temp":

    public void setTemp(double temp) {
        this.Temp = temp;
    }