/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/oop-practice-sources/smalltalk/student.st
48 строк
1 KB
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
"=== student.st — Pharo Playground ===" Object subclass: #Student instanceVariableNames: 'name grades' classVariableNames: 'PassingScore' package: 'OOPPractice' ! Student class >> initialize [ PassingScore := 60 ] Student class >> newName: aName [ ^ self basicNew name: aName; grades: OrderedCollection new; yourself ] Student >> name: aString [ name := aString ] Student >> grades: aCollection [ grades := aCollection ] Student >> addGrade: grade [ grades add: grade. Transcript show: 'Оценка ', grade printString, ' добавлена для ', name; cr ] Student >> averageScore [ grades isEmpty ifTrue: [ ^ 0 ]. ^ (grades sum) / grades size ] Student >> isPassing [ ^ self averageScore >= PassingScore ] Student >> info [ Transcript show: 'Студент: ', name; cr. Transcript show: 'Оценки: ', grades printString; cr. Transcript show: 'Средний балл: ', (self averageScore printShowingDecimalPlaces: 1); cr. Transcript show: (self isPassing ifTrue: ['Зачёт получен'] ifFalse: ['Зачёт не получен']); cr ] "--- Demo ---" | student | student := Student newName: 'Анна'. student addGrade: 70. student addGrade: 85. student addGrade: 55. student info.