有人会在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);
}
}
}
类表示事物的抽象。每当你设计一个类时,你应该确保以下内容(如果我错过了什么,其他人可以添加):
- 确保所有相关的数据和操作都属于同一类。
- 不要将班级的内部暴露给外部世界。而是提供一个接口到世界来使用该类。
- 如果定义某个实例变量,请检查它是否遵循 has-a 关系
- 如果你从某个超类继承了这个类,请检查它是否遵循 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);
}
}
}
-
您已在类中定义了两个"Speed"变量,但每个范围只能声明一次变量名称。
int Speed = 50; double Temp =70.5; private int Speed;
-
setr 用于赋值,它们应始终有一个参数,并且该参数应用于赋值实例或类变量。 这是"setSpeed"的更正版本。
public void setSpeed(int speed) { this.speed = speed; }
在这种情况下,您将忽略参数"speed"并将this.speed分配给常量值。 这种默认赋值应该在构造函数中完成。
-
这个二传手是你错误的起源:你有一个没有参数的二传手,这应该是一个危险信号。 在这种情况下,您应该在 setTemp() 中添加 1 个参数 "temp":
public void setTemp(double temp) { this.Temp = temp; }