簡體   English   中英

使用setter和getter用於數學方程式和打印線

[英]Using setters and getters for math equations and printlines

所以我在使用setter和getter時遇到了麻煩,因為我現在無法獲取addNumbers的值,因此我已注釋掉其他注釋,因此我現在不擔心它們。 我最關心的是一旦將數字傳遞給setter時,將其數字寫行,從getter中檢索是否然后在addNumbers中使用它的語法。 如果有人能啟發我或給我一個好的榜樣,那會比我現在好。 非常感謝您的幫助!

class MainModule
    {
        static void Main(string[] args)
        {
            Info myInfo = new Info();
            myInfo.DisplayInfo("Assignment 3A - Math Ops w/ Properties");

            MathOperations ops = new MathOperations();

            int input1, input2;
            Console.WriteLine("Enter first number to calculate");
            ops.operand1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter second number to calculate");
            ops.operand2 = int.Parse(Console.ReadLine());

            Console.WriteLine("Added: {0}", ops.addNumbers);
            //Console.WriteLine("Subtracted: " + ops.subtractNumbers(value1, value2));
            //Console.WriteLine("Divided: " + ops.divideNumbers(value1, value2));
            //Console.WriteLine("Multiplied: " + ops.multiplyNumbers(value1, value2));

            Console.ReadLine();
        }


class MathOperations
    {
        private int operand1;
        private int operand2;

        public int Operand1
        {
            get
            {
                return operand1;
            }
            set
            {
                operand1 = value;
            }
        }
        public int Operand2
        {
            get
            {
                return operand2;
            }
            set
            {
                operand2 = value;
            }
        }
        public MathOperations()
        {
            //default constructor
        }
        public MathOperations(int op1, int op2)
        {
            operand1 = op1;
            operand2 = op2; 
        }
        public int addNumbers()
        {
            return operand1 + operand2;
        }

addNumbers不是上面定義的屬性。 這是一種方法,您需要添加括號

 Console.WriteLine("Added: {0}", ops.addNumbers());
 .....
 public int addNumbers()
 {
     return operand1 + operand2;
 }

否則,但我不建議您這樣做,因為您正在執行的操作未讀取類的屬性,請將代碼更改為

   Console.WriteLine("Added: {0}", ops.addNumbers);
   .....
   public int addNumbers
   {
        get{ return operand1 + operand2; }
   }

這樣,您就可以為getter提供一個readonly屬性。 但是我仍然認為屬性應該表示類的屬性而不是操作,因此在這種情況下,將方法實現為似乎更正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM