Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2011, 15:05   #1
Roegis
 
Регистрация: 11.01.2011
Сообщений: 4
По умолчанию ошибка в коде c#

Я только начал изучать с# и пока не все получается надеюсь вы мне поможете )
Программа выдает ошибку, помогите найти неточности
Код:
using System;
class Animal
{
    //Поля
    public string kindOfAnimal;
    public string name;
    public int numberOfLegs;
    public int height;
    public int leight;
    public string color;
    bool hasTail;
    protected bool isMammal;
    private bool spellingCorrect;
    //Методы
    //Открытый метод, получающий 
    //информацию о том, чем питается животное
    public string GetFoodInfo()
    {
        //Представим, что здесь расположин код, выполняющий поиск по базе данных
        ... 
    }
    //Закрытый метод для проверки правильности написания вида животного
    private void SpellingCorrect()
    {
        //Представим, что здесь расположин код для проверки правописания
        ...
    }
    //Защищенный метод определяет существование даного вида животного 
    protected bool IsValidAnimalType()
    {
        //код для проверки существующих видов животных
        ...
    }
}
class Zoo
{
    Animal a = new Animal();
    a.name = "Kangaroo";
    string food;
    bool animalExists;

    //Следующий код будет выполнен успешно,поскольку классу "Zoo" разрешено
    //обращаться к открытым методам в классе "Animal"
    food = a.GetFoodInfo(); //Вызов открытого метода
    //Обе следующие строки НЕ будут выполнены, поскольку кдассу "Zoo"
    //не разрешино обращаться к закрытым или защищенным методам 
    a.spellingCorrect();   //Попытка вызова закрытого метода
    animalExists = a.IsValidAnimalType();   //Попытка вызова защищенного метода

Последний раз редактировалось Stilet; 13.01.2011 в 17:52.
Roegis вне форума Ответить с цитированием
Старый 12.01.2011, 22:22   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от Roegis Посмотреть сообщение
Я только начал изучать с# и пока не все получается надеюсь вы мне поможете )
Программа выдает ошибку, помогите найти неточности

...
Это типа вопрос на засыпку , что бы мы догадались что за ошибка и почему он тебе ее выдает .

Может ты бы сделал скрин что ли или написал , что за ошибка .

Да и в коде нельзя писать "..." ,если ты не комментировал эту строку .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.01.2011, 16:54   #3
Roegis
 
Регистрация: 11.01.2011
Сообщений: 4
По умолчанию

Так комментарий так обозначается "//"
Roegis вне форума Ответить с цитированием
Старый 13.01.2011, 17:11   #4
Neser
Пользователь
 
Аватар для Neser
 
Регистрация: 26.12.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Roegis Посмотреть сообщение
Я только начал изучать с# и пока не все получается надеюсь вы мне поможете )
Программа выдает ошибку, помогите найти неточности

using System;
class Animal
{
//Поля
public string kindOfAnimal;
public string name;
public int numberOfLegs;
public int height;
public int leight;
public string color;
bool hasTail;
protected bool isMammal;
private bool spellingCorrect;
//Методы
//Открытый метод, получающий
//информацию о том, чем питается животное
public string GetFoodInfo()
{
//Представим, что здесь расположин код, выполняющий поиск по базе данных
...
}
//Закрытый метод для проверки правильности написания вида животного
private void SpellingCorrect()
{
//Представим, что здесь расположин код для проверки правописания
...
}
//Защищенный метод определяет существование даного вида животного
protected bool IsValidAnimalType()
{
//код для проверки существующих видов животных
...
}
}
class Zoo
{
Animal a = new Animal();
a.name = "Kangaroo";
string food;
bool animalExists;

//Следующий код будет выполнен успешно,поскольку классу "Zoo" разрешено
//обращаться к открытым методам в классе "Animal"
food = a.GetFoodInfo(); //Вызов открытого метода
//Обе следующие строки НЕ будут выполнены, поскольку кдассу "Zoo"
//не разрешино обращаться к закрытым или защищенным методам
a.spellingCorrect(); //Попытка вызова закрытого метода
animalExists = a.IsValidAnimalType(); //Попытка вызова защищенного метода
Канешно что будет ошибка, если копируете прямо с учебника, так хотя бы коменты читайте. В коментах вот же написано
" a.spellingCorrect(); //Попытка вызова закрытого метода
animalExists = a.IsValidAnimalType(); //Попытка вызова защищенного метода".
Насколько помню ето с учебника Дрейера.
KISS - Keep It Simple Stupid
Neser вне форума Ответить с цитированием
Старый 13.01.2011, 18:38   #5
Roegis
 
Регистрация: 11.01.2011
Сообщений: 4
По умолчанию

да точно, но до сих пор не понятно в чем ошибка, вроде все правильно переписал, хотел разобраться в коде а тут ошибки выдает, печалька(
Roegis вне форума Ответить с цитированием
Старый 14.01.2011, 00:28   #6
Neser
Пользователь
 
Аватар для Neser
 
Регистрация: 26.12.2010
Сообщений: 47
По умолчанию

Етот код ето только пример, и такой пример что его не возможно реализировать. Прочитайте коментарии. В етом случае ето только они важны. На етом примере показано принципы инкапсуляцыи и не больше она не рабочая в таком виде.
Предлогаю для начала писать по проще проги. Попробуйте книгу "С# для чайников".
Там обьяснено что такое класы и все принципи ООП. Етот код может работать только в таком виде:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
   class Program
   {
       static void Main()
       {
           Animal a = new Animal();
           a.name = "Kangaroo";
           Console.WriteLine(a.name);
           Console.ReadLine();
       }
   }
 class Animal
{
public string kindOfAnimal;
public string name;
public int numberOfLegs;
public int height;
public int leight;
public string color;
bool hasTail;
protected bool isMammal;
private bool spellingCorrect;

public string GetFoodInfo()
{
//Представим, что здесь расположин код, выполняющий поиск по базе данных
    return "Get";
}
//Закрытый метод для проверки правильности написания вида животного
private void SpellingCorrect()
{
//Представим, что здесь расположин код для проверки правописания

}
//Защищенный метод определяет существование даного вида животного
protected bool IsValidAnimalType()
{
//код для проверки существующих видов животных
    return true;
}
}
class Zoo
{
         Animal a = new Animal();
      //   a.name = "Kangaroo"; // невозможно такое зделать вне метода или конструктора
         string food;
         bool animalExists;
     /*    food = a.GetFoodInfo(); 
         a.spellingCorrect();
         animalExists = a.IsValidAnimalType(); */
}
}
KISS - Keep It Simple Stupid
Neser вне форума Ответить с цитированием
Старый 14.01.2011, 13:00   #7
Roegis
 
Регистрация: 11.01.2011
Сообщений: 4
По умолчанию

спасибо за помощь
Roegis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
ошибка в коде Pytnik Паскаль, Turbo Pascal, PascalABC.NET 45 25.05.2010 17:30
ошибка в коде Си Misha_M. Помощь студентам 2 05.02.2010 15:41
Ошибка в коде.. NSvirus PHP 4 14.10.2009 22:57