2 / 2 / 3
Регистрация: 04.07.2013
Сообщений: 30
|
|||||||||||
1 | |||||||||||
Определите новый класс Student с двумя закрытыми полями полями: name и sumb25.04.2014, 01:16. Показов 1986. Ответов 6
Метки нет (Все метки)
Я очередной студент, которые вам, полагаю, очень надоели, но все же я очень надеюсь на вашу помощь.
Задание 4. Массивы Объектов. Немного теории по заданию, от сюда все корни идут
Во всех рассмотренных примерах нам встречались массивы, элементы которых имели только простые значимые типы. В реальных программах массивы объектов и других ссылочных типов встречаются не менее часто. Каков бы ни был тип элементов, большой разницы при работе с массивами нет. Но один важный нюанс все же есть, и его стоит отметить. Он связан с инициализацией элементов по умолчанию. Уже говорилось о том, что компилятор не следит за инициализацией элементов массива и доверяет инициализации, выполненной конструктором массива по умолчанию. Но для массивов ссылочного типа инициализация по умолчанию присваивает ссылкам значение Null. Это означает, что создаются только ссылки, но не сами объекты. По этой причине, пока не будет проведена настоящая инициализация с созданием объектов и заданием ссылок на конкретные объекты, работать с массивом ссылочного типа будет невозможно.
Собственно само задание
Рассмотрим детали этой проблемы на примере. Определим достаточно простой и интуитивно понятный класс, названный Student свойства которого задают имя студента и его баллы, а методы позволяют установить количество полученных баллов и распечатать его свойства.
ClassStudent
Main
Все что ниже седьмого пункта я сделать не смог. Созданный мною массив даже не видит функций, заданных в классе. P.S. Не комментировал функции, вроде как они очень простые. Если надо, напишите, все откомментирую.
0
|
25.04.2014, 01:16 | |
Ответы с готовыми решениями:
6
Определить класс Student с двумя закрытыми полями полями: name и sumb Создать класс, описывающий магазин с 6-ю закрытыми / открытыми полями и 6-ю закрытыми / открытыми свойствами класс с закрытыми полями, где операции реализуются как методы класса Класс с двумя полями |
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
25.04.2014, 01:29 | 2 |
Сообщение было отмечено regint как решение
Решение
Обращайся к обектам , а не к массиву
arr[1]. Добавлено через 1 минуту А что значит статическое или динамическое поле? Добавлено через 2 минуты А неувидел сразу... ты поля делаешь статическими. Это не правильно .все поля и методы у тебя должны быть не статическими
1
|
2 / 2 / 3
Регистрация: 04.07.2013
Сообщений: 30
|
||||||
25.04.2014, 01:46 [ТС] | 3 | |||||
По объектам можно проинициализировать через цикл. Но не по заданию, мне интересно было понять, как сделать это через передачу массива. Но даже по инициализации таким образом, не получается воспользоваться функцией arr[i].SetValue("Имя") arr[i].Show(). Программа не видит данных методов, вернее она вообще не видит методов указанных мною в классе.
Добавлено через 9 минут Все, с инициализацией через цикл заработало все, спасибо! С методом для инициализации всего массива не знаешь как проблему решить? C этим методом
Добавлено через 7 минут Обращу внимание, что в задание этот метод именно статическим указан. public static Student[] InitAr(Student[] _Stud)
0
|
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
25.04.2014, 01:48 | 4 |
regint, честно в классе студент метода с инициализацией быть не должно. Это бредово и противоречит ооп.
Я даже понимаю что он должен делать...
0
|
2 / 2 / 3
Регистрация: 04.07.2013
Сообщений: 30
|
|||||||||||
25.04.2014, 02:18 [ТС] | 5 | ||||||||||
Сообщение было отмечено Памирыч как решение
Решение
Так полагаю он должен делать то, что делает метод Initialize для массивов значимого типа.
Добавлено через 26 минут Блин, уже 3 раз создаю на форуме тему и сам решаю поставленную проблему. Может кому пригодиться, поэтому выкладываю исправленное решение. ClassStudent
Main
Всем спасибо за участие!
1
|
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
|
|||||||||||
25.04.2014, 09:09 | 6 | ||||||||||
Сообщение было отмечено NickoTin как решение
Решение
Небольшие дополнения:
п.5 задания:
1
|
2 / 2 / 3
Регистрация: 04.07.2013
Сообщений: 30
|
|
25.04.2014, 09:57 [ТС] | 7 |
kmaffa, Ну да, возможно, я суть вопроса не понял того, сделал так, как мне казалось наиболее логичным. Преподам которые не выполняют саму работу, перед тем как ее давать, уши бы оторвать. Вечно, задание разбираешь, а чувство, будто на Что?Где?Когда? попал.
Добавлено через 2 минуты Не знаю, я полагаю, возвращение значения нужно, если вдруг хочешь ссылку на массив, другой переменно отдать. А в том коде, что ты предложил, он не имеет особого смысла, так как не меняет результата выполнения функции.
0
|
25.04.2014, 09:57 | |
25.04.2014, 09:57 | |
Помогаю со студенческими работами здесь
7
Создать класс с двумя полями Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... Реализовать класс с двумя скрытыми полями first и second Cделать класс с двумя полями и методом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |