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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 21:37   #1
BaronVik
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 36
Вопрос Требуется ссылка на обьект

Здравствуйте уважаемые программисты. Недавно начал изучать с# и при написании лабы столкнулся с рядом проблем.Прошу помочь разобраться.

Задание:Разработать класс B-наследник класса А,с полем d и свойством с2(выражение над полями). В теле свойства использовать switch. У класса А создать конструктор инициализирующий его поля.

PHP код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class 
//Класс A
{
public 
float a// Поле а класса А
public float b// Поле b класса A
public A() { 3f2.5f; } // Конструктор без параметров
    
public float c   //Свойство с
    
{
    
get { return b; }  //Метод
    
set value; } //Возвращаемое значение
    
}
}
public class 
//Класс В - наследник класса А
{
public 
float d 10f// Поле d класса В
public int i;
    public 
float c2 // Свойство с2
    
{
    
get { return a+b+d;} 
    
set c2 value; }
    }
    static 
void Main(string[] args//Начало программы
    
{
    
Console.WriteLine("Введите число и увидите значения ");
    
Console.WriteLine("1 - полей a,b,d");
    
Console.WriteLine("2 - свойств с,c2");
    
B.Console.ReadLine();
    switch(
B.i//Проверяем чему равно i 
        
{
        case 
1Console.WriteLine("a={0} "B.a"b={0} "B.b,"d={0} "B.d); break;
        case 
2Console.WriteLine("2={0} "B.c"c2={0} "B.c2); break;
        default: 
Console.WriteLine("Введено неправильное значение "); break;
        
Console.ReadLine(); //Для задержки результата на эране 
        
}
    }

Вопросы:
1)Выводятся ошибки после B.i B.a и т.д. что для нестатестического поля метода или свойства"B.-"требуется ссылка на обьект. Что я неправильно сделал?
2)Писал много раз Console.WriteLine. Как нибудь можно сократить текст программы чтобы без Console.WriteLine переводил на след. строку.
3)Правильно ли я вообще описываю классы ,поля и конструктор?

Всем заранее спасибо кто откликнется.
BaronVik вне форума Ответить с цитированием
Старый 07.11.2011, 23:15   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1. По какому такому ООП Main оказалась в В?
2.
2.1. Кто будет создавать экземпляр В, чтобы что-то записывать в поле i?
2.2. поле i разве статическое, чтобы к нему можно было обращаться как к принадлежащему классу?
3. Не помню уже, но разве Console.ReadLine() возвращает int, а не строку?
4. "Попробуйте так съэкономить\nна драгоценных\nWriteLine"
5. switch находится не в теле свойства, чего требует задание
6. Задание - говно.
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Enum в обьект. vjmap C# (си шарп) 2 08.10.2011 11:16
Сделать обьект не кликабельным MyLastHit Общие вопросы Delphi 6 24.12.2010 22:08
обьект в обьект... Olejik Общие вопросы по Java, Java SE, Kotlin 6 22.03.2010 22:23
Не могу создать обьект mrandrey Общие вопросы Delphi 6 04.06.2007 16:04