1 / 1 / 0
Регистрация: 08.09.2012
Сообщений: 33
1

Свойства инкапсуляции и StackOverflowException

28.10.2013, 19:51. Показов 761. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Столкнулся с проблемой. При выполнении пишет о StockOverFlowException. Помогите разобраться, в чем проблема.

Main
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            Employee Worker = new Employee(35000, "Jack Wood");
            Worker.ShowNameAndSalary();
            Worker.EmName = "Jack Wilson";
            Worker.EmSalary = 10000;
            Worker.ShowNameAndSalary();
        }
    }
}


Сам класс:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
namespace ConsoleApplication1
{
    class Employee
    {
        public Employee(){}
 
        public Employee(float Salary, string Name)
        {
           EmName = Name;
           EmSalary = Salary;
        }
        
        public string EmName
        {
            set
            {
                if (value.Length < 15)
                {
                    EmName = value;
                }
                else Console.WriteLine("Error! Employee name must be less then 16 symbols");
            }
 
            get  {  return EmName;  }
        }
        public float EmSalary { get; set; }
 
        public void ShowNameAndSalary()
        {
            Console.WriteLine("Name: {0}\nSalary: {1}$", EmName, EmSalary);
        }
 
        
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2013, 19:51
Ответы с готовыми решениями:

StackOverflowException при изменении свойства класса
Привет, народ. Простенький класс со свойством, в упор не вижу ошибки. Помогите :) class A { ...

Каковы свойства инкапсуляции
Инкапсуляция. Свойства

Попытка Инкапсуляции
Почему при попытке описать метод класса за его пределами, компилятор выдает ошибку? class A {...

Изучение инкапсуляции и абстракции
Всем доброго вечера у меня очередная лабораторка. Завдання. Створити на мові Java клас, який...

5
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
28.10.2013, 20:06 2
Цитата Сообщение от Funny.Furry Посмотреть сообщение
public string EmName
Это не автоматически реализуемое свойство.... поэтому создайте переменную и в аксессорах работайте с этой переменной
0
1 / 1 / 0
Регистрация: 08.09.2012
Сообщений: 33
28.10.2013, 20:15  [ТС] 3
Diman777, спасибо. Но не мог бы ты подробнее описать этот процесс?
0
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
28.10.2013, 20:20 4
Funny.Furry,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        private string emname; // закрытая перемення
        public string EmName // доступ к закрытой переменной emname
        {
            set
            {
                if (value.Length < 15)
                {
                    emname = value;
                }
                else Console.WriteLine("Error! Employee name must be less then 16 symbols");
            }
 
            get { return emname; }
        }
1
1 / 1 / 0
Регистрация: 08.09.2012
Сообщений: 33
28.10.2013, 20:21  [ТС] 5
Diman777, большое спасибо, буду разбираться!
0
kolorotur
29.10.2013, 11:17     Свойства инкапсуляции и StackOverflowException
  #6

Не по теме:

Цитата Сообщение от Funny.Furry Посмотреть сообщение
StockOverFlowException
А чо, будет актуальненько для какой-нибудь софтины по автоматизации торгов на бирже.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2013, 11:17

Запутался в классах и инкапсуляции
Всем привет! Нужно переделать программу в ООП-стиль. Заменить структуры на классы, инкапсулировав...

Обход инкапсуляции класса
#include &lt;iostream&gt; using namespace std; class My_class { private: char* name; public:...

Нарушение инкапсуляции метода
Уважаемые, опытные, подскажите, чем может грозить нарушение инкапсуляции метода класса, кроме того...

Практическая часть инкапсуляции
Есть практическая часть курса ulern. Сколько уже смотрю на этот код, все не могу понять с чего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru