/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/oop-practice-sources/smalltalk/user-auth.st
48 строк
1 KB
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
"=== user-auth.st — Pharo Playground ===" Object subclass: #User instanceVariableNames: 'username password loggedIn' classVariableNames: '' package: 'OOPPractice' ! User class >> newUsername: aUser password: aPassword [ ^ self basicNew username: aUser; password: aPassword; loggedIn: false; yourself ] User >> username: aString [ username := aString ] User >> password: aString [ password := aString ] User >> loggedIn: aBoolean [ loggedIn := aBoolean ] User >> login: aPassword [ aPassword = password ifTrue: [ loggedIn := true. Transcript show: 'Добро пожаловать, ', username, '!'; cr ] ifFalse: [ Transcript show: 'Ошибка: неверный пароль'; cr ] ] User >> logout [ loggedIn := false. Transcript show: username, ' вышел из системы'; cr ] User >> postMessage: text [ loggedIn ifFalse: [ Transcript show: 'Сначала войдите в систему'; cr. ^ self ]. Transcript show: 'Сообщение опубликовано: ', text; cr ] "--- Demo ---" | user | user := User newUsername: 'alex' password: 'secret123'. user postMessage: 'Привет!'. user login: 'wrong'. user login: 'secret123'. user postMessage: 'Привет, мир!'. user logout. user postMessage: 'Ещё одно сообщение'.