Я только что начал C# пару часов назад, и я увидел методы создания классов в C#. Я сделал свои собственные два класса «Животное и собака», где «Собака» наследует «Животное». Мой код не имеет ошибки, но все же моя программа вылетает при выполнении. У меня есть немного знаний об oop. Я пропустил что-то важное здесь в этом коде?сбой программ в двух простых классах. C# Новичок
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MultipleClasses
{
class Animal
{
public int hands;
public Boolean feathers;
public int legs;
public int getlegs(){ return legs; }
public void setlegs(int l){this.legs = l;}
public void sethands(int h){this.hands = h;}
public int gethands(){return this.hands;}
public void setfeathers(Boolean f){this.feathers = f;}
public Boolean getfeathers(){return this.feathers;}
public Animal(int l=0, int h=0, Boolean f=false){
this.legs = l;
this.hands = h;
this.feathers = f;
}
}
class Dog : Animal
{
public string name;
public int age;
public string getname(){return this.name;}
public int getage(){return this.age;}
public void setname(string n) { this.name = n;}
public void setage(int g){this.age = g;}
public Dog(string n, int g, int l, int h, Boolean f) : base(l, h, f)
{
this.name = n;
this.age = g;
}
}
class Program
{
static void Main(string[] args)
{
Dog a = new Dog("Jack",5,4,0,false);
Console.WriteLine("The Dog's name is {0} and age is {1} "+a.getname(),a.getage());
}
}
}
Некоторые сообщение об ошибке было бы полезно, если это не викторина, и мы должны угадать сообщение об ошибке –
Код выглядит технически правильно, хотя в C# мы не пишем 'get ...' и 'set ...', но вместо этого используйте свойства с геттерами и сеттерами. Я предполагаю, что «сбой» означает исключение. Пожалуйста, сообщите нам сообщение об исключении и трассировку стека, которая укажет вам на строку, которая вызывает ошибку. –