如何从另一个类继承变量?

时间:2019-12-03 21:14:13

标签: c#

我不知道如何从另一个类继承变量。我用C#编写代码,并创建了两个类。第一个是Osoba(engl。Person),它具有变量ime,prezime,OIB(engl。名称,姓氏,ID),而我还有另一个类Racun(engl。account),这意味着银行帐户。 Racun类具有变量podaci o vlasnikuračuna(帐户持有人信息),brojračuna(帐户序列号)和stanjeračuna(银行帐户余额)。那么podaci o vlasnikuračuna(完整的帐户持有人信息)需要具有Osoba类中的变量。我怎样才能做到这一点? 我将向您展示我创建的两个带有代码的类。如果您注意到两个类都需要具有3个变量,则我没有在Racun类(英语)中创建第一个变量,因为第一个需要包含Osoba类(英语:Person)中的变量。

Osoba.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Vjezba6_1
{
    class Osoba
    {
        public string ime { get; set; }
        public string prezime { get; set; }
        public int oib { get; set; }

        public Osoba(string tempIme, string tempPrezime, int tempOib)
        {
            this.ime = tempIme;
            this.prezime = tempPrezime;
            this.oib = tempOib;
        }
    }
}

Racun.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Vjezba6_1
{
    class Racun
    {
        public int brojRacuna { get; set; }
        public int stanjeRacuna { get; set; }

        public Racun(int tempPovr, int tempbrojRacuna, int tempstanjeRacuna)
        {
            this.povr = tempPovr;
            this.brojRacuna = tempbrojRacuna;
            this.stanjeRacuna = tempstanjeRacuna;
        }
    }   
}

2 个答案:

答案 0 :(得分:0)

如果您的povr变量需要保存与Osoba中相同的信息,则可以将povr引用为Osoba的实例:< / p>

class Racun
{
    public Osoba povr { get; set; }
    public int brojRacuna { get; set; }
    public int stanjeRacuna { get; set; }

    public Racun(Osoba tempPovr, int tempbrojRacuna, int tempstanjeRacuna)
    {
        this.povr = tempPovr;
        //etc

或者您可以制作一个struct来保存常用信息:

namespace Vjezba6_1
{
    struct PodaciOVlasnikuRacuna //i'm sure you can shorten this, but i don't know the language
    {
         public string ime;
         public string prezime;
         //other account holder information
    }
}

并在您的班级中使用它,就像这样:

namespace Vjezba6_1
{
    class Osoba
    {
        public PodaciOVlasnikuRacuna podaci { get; set; }

        public Osoba(string tempIme, string tempPrezime, int tempOib)
        {
            this.podaci.ime = tempIme;
            this.podaci.prezime = tempPrezime;
            this.podaci.oib = tempOib;
        }
    }
}

答案 1 :(得分:0)

namespace Vjezba6_1_v2
{
    class Osoba
    {
        public Podaci povr { get; set; }

        public Osoba(string tempIme, string tempPrezime, int tempOib)
        {
            this.povr.ime = tempIme;
            this.povr.prezime = tempPrezime;
            this.povr.oib = tempOib;
        }
    }
}