Здравствуйте! Начал заниматься по книге C# для школьников и столкнулся сразу же с трудностью. А именно в примерах, которые приводят в книге не понятно почему подчёркивается всё красной линией и не работает.
using System;
class Animal
{
public string kindOfAnimal;
public string name;
public int numberOfLegs;
public int height;
public int length;
public string color;
bool hasTail;
protected bool isMammal;
private bool spellingCorrect;
}
class Zoo
{
public void GetAnimal()
{
Animal a = new Animal();
a.kindOfAnimal = "Kangaroo";
a.isMammal = false;
a.spellingCorrect = true;
}
}
А вот так правильно? Насколько я понял, мне сейчас подчёркивает две строки:
За public поля нужно сразу бить по рукам, отучитесь от этой привычки. Все поля должны помечаться модификатором provate, ну либо на крайний случай protected. Прежде чем писать код на языке C# необходимо ознакомиться с основами и принципами ООП, так как C# является полностью объектно-ориентированным языком
За public поля нужно сразу бить по рукам, отучитесь от этой привычки. Все поля должны помечаться модификатором private, ну либо на крайний случай protected. Прежде чем писать код на языке C# необходимо ознакомиться с основами и принципами ООП, так как C# является полностью объектно-ориентированным языком
За public по рукам бить не нужно. Ничего противозаконного в нем нету. Просто ты должен понимать, для чего ты его используешь и к чему это может привести. А книга действительно корявая.
Oklahoma: Куда подробнее?)) У класса могут быть поля, свойства, конструкторы и методы. Строка Animal a = new Animal(); воспринимается компилятором как создание поля класса по умолчанию инициализированного конструктором. три другие строчки являются инструкциями, которые должны выполняться внутри методов или конструктора класса.
using System;
class Animal
{
public string kindOfAnimal;
public string name;
public int numberOfLegs;
public int height;
public int length;
public string color;
bool hasTail;
protected bool isMammal;
private bool spellingCorrect;
}
class Zoo
{
Animal a = new Animal()
{
a.kindOfAnimal = "Kangaroo";
a.isMammal = false;
a.spellingCorrect = true;
}
}
Oklahoma: Уберите a.(просто kindOfAnimal например) и точку с запятой замените на запятую. И возьмите другую книжку, ну или хотябы походите по мануалам на MSDN