Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Разбираюсь с ООП на примере
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Разбираюсь с ООП на примере

Страниц (1): [1]
 

1. dawauer - 11 Января, 2015 - 18:23:53 - перейти к сообщению
Добрый день.

Пытаюсь разобраться с ООП. Хочу сделать генератор тестов - преподаватель создает тесты, пользователь их решает, у него имеется журнал успеваемости.

Основные классы получились - пользователь, тест, вопрос, ответ, журнал успеваемости.

Структура классов:

PHP:
скопировать код в буфер обмена
  1. class Пользователь
  2. {
  3.         function register
  4.         {
  5.        
  6.         }
  7.        
  8.         function logout
  9.         {
  10.        
  11.         }
  12.        
  13.         function check()
  14.         {
  15.        
  16.         }
  17.        
  18.         function  isLogged()
  19.         {
  20.        
  21.         }
  22.        
  23.         function login()
  24.         {
  25.                
  26.         }
  27. }
  28.  
  29.  
  30.  
  31. class Test
  32. {
  33.         private $questionObj;
  34.        
  35.         function __construct()
  36.         {
  37.                 $questionObj = new Question;
  38.         }
  39.         function create()
  40.         {
  41.        
  42.         }
  43.        
  44.         function delete()
  45.         {
  46.        
  47.         }
  48.        
  49.         function update()
  50.         {
  51.        
  52.         }
  53.        
  54.         function getT()
  55.         {
  56.  
  57.         }
  58. }
  59.  
  60. class Question
  61. {
  62.         private $answerObj;
  63.         public $text;
  64.  
  65.         function __construct()
  66.         {
  67.                 $answerObj = new Answer;
  68.         }
  69.        
  70.         function create()
  71.         {
  72.        
  73.         }
  74.        
  75.         function delete()
  76.         {
  77.        
  78.         }
  79.        
  80.         function update()
  81.         {
  82.        
  83.         }
  84.        
  85.         function getT()
  86.         {
  87.  
  88.         }
  89. }
  90.  
  91. class Answer
  92. {
  93.         public $flag = false;
  94.         public $text;
  95.  
  96.         function create()
  97.         {
  98.        
  99.         }
  100.        
  101.         function delete()
  102.         {
  103.        
  104.         }
  105.        
  106.         function update()
  107.         {
  108.        
  109.         }
  110.        
  111.         function getT()
  112.         {
  113.  
  114.         }
  115. }


Скажите, уважаемые программисты. Правильно ли я сделал, и можно ли как-то улучшить.
2. GoDr - 17 Января, 2015 - 10:44:15 - перейти к сообщению
Ну хотя бы описание методов сделал. И на вскидку.. А как пользователя отличить от преподавателя? Это здесь?
CODE (htmlphp):
скопировать код в буфер обмена
  1. Пользователь->check()
3. esterio - 19 Января, 2015 - 18:11:22 - перейти к сообщению
1. никогда не используйте кирилицу в названиях класса, метода, константы, переменной ...
2. ООП это в первую очередь логика мишления нежели готовые кускы кода. А понимание приходит с опытом. рекомендую начать тчо-то делать. Потом будете все равно переделивать и так будете учиться и понимать где какой паттерн нужно использовать

 

Powered by ExBB FM 1.0 RC1