как создать метод обновления в c# - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь создать метод для обновления входной строки другой входной строкой. например, вы устанавливаете accountHoldername в значение james, затем вводите другой атрибут acountHolderNAme. метод update accountHolderName должен вернуть обратно matty

 public class BankAccount
{

    private String accountHolderName;

    public  BankAccount ( double balance, String accountHolderName, long accountNumber)
    {
        this.accountHolderName = accountHolderName;
    }

    public long AccountNumebr
    {
        get
        {
            return accountNumber;
        }
        set
        {
            this.accountNumber = value;
        }
    }

    public String AccountHolderName
    {
        get
        {
            return accountHolderName;
        }
        set
        {
            this.accountHolderName = value;
        }
    }

    public double Balance
    {
        get
        {
            return balance;
        }
        set
        {
            this.balance = value;
        }
    }



    public String UpdateAccountHolderName()
    {


    }

}

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Предполагая, что вы хотите иметь его, чтобы вы не могли устанавливать различные свойства на банковском счете публично, тогда это выглядело бы примерно так:

public class BankAccount
{

    private string accountHolderName;
    private long accountNumber;
    private double balance;

    public  BankAccount (double balance, String accountHolderName, long accountNumber)
    {
        this.accountHolderName = accountHolderName;
        this.accountNumber = accountNumber;
        this.balance = balance;
    }

    public long AccountNumber
    {
        get
        {
            return accountNumber;
        }
    }

    public string AccountHolderName
    {
        get
        {
            return accountHolderName;
        }
    }

    public double Balance
    {
        get
        {
            return balance;
        }
    }

    public string UpdateAccountHolderName(string accountHoldername)
    {
        this.accountHolderName = accountHolderName;
        return AccountHolderName;
    }
}

Вы можете проверить это с помощью консольного приложения, такого как это:

class Program
{

    static void Main(string[] args)
    {
        var ba = new BankAccount(10.00, "Bob", 123456);

        ReadDetails(ba);

        var newName = ba.UpdateAccountHolderName("Frank");
        Console.WriteLine("New Name: " + newName);

        ReadDetails(ba);
    }

    static void ReadDetails(BankAccount ba)
    {
        Console.WriteLine("Balance: " + ba.Balance + ", Name: " + ba.AccountHolderName + ", Number: " + ba.AccountNumber);
        Console.ReadLine();
    }
}

Результаты:

enter image description here

Стоит отметить, что денежные суммы обычно делаются с использованием десятичной дроби, поэтому вы можете захотеть пересмотреть, используя double для баланса.

UPDATE Теперь обновлено и теперь возвращает новое имя как часть метода enter image description here

1 голос
/ 08 апреля 2020

Если вы действительно хотите этот метод, используйте частные сеттеры для своего свойства:

public class BankAccount
{
    public string AccountHolderName { get; private set; }

    //Note there's really no need for a return value here
    public void UpdateAccountHolderName(string newAccountHolderName)
    {
        AccountHolderName = newAccountHolderName;
    }
}

Конечно, это функционально эквивалентно:

public class BankAccount
{
    public string AccountHolderName { get; set; }
}

Метод обновления имеет больше смысла здесь если вы обновляете с его помощью несколько свойств.

Редактировать

Вы также можете сделать это, если вы действительно хотите:

public class BankAccount
{
    public string AccountHolderName { get; private set; }

    public string UpdateAccountHolderName(string newAccountHolderName)
    {
        AccountHolderName = newAccountHolderName;
        return AccountHolderName;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...