Описание кода приложений WhatsApp, Telegram
Чтобы программно описать приложение-мессенджер, такие как WhatsApp и Telegram, используем псевдокод, составленный по UML-диаграмме классов.
#include "windows.h" /добавление скрипта построения окон
public class User{ /создаём класс User
protected string name;
protected int phone;
private set contact = new HashSet(); / сужаем множество контактов до определённого числа (до нужного нам контакта)
public void setName (string newName) { /ввод имени пользователя
name = newName; } /изменение имени пользователя
public string getName() { /просмотр текущего имени пользователя
return name; }
public void setPhone(int newPhone) {
phone = newPhone; }
public int getPhone() {
return phone; }
public set getContact() { /просмотр контакта (из списка контактов)
return contact; }
public void addContact(Contact newContact) { /добавляем новый контакт
contact.add(newContact);
bollean newContact = false; } / применение булевой алгебры, отмена добавления существующего контакта при получении 0
public void WindowBuilder(ref User buildRef); / построение окон для класса пользователь, } / ref – обращение по ссылке
public class Contactlist{
private Contact contact; /присвоение номеру ячейки контакта
private int position; /номер позиции в телефонной книге
public num(int p, Contac c) { /номер телефона и позиция
p = position;
c = contact;}
public void setPosition(int newPosition) { /изменить номер позиции
position = newPosition; }
public set getNum(position){ /просмотр телефона по номеру позиции
return contact;}
public void addContact(Contactlist newNum, Contact NewContact) { /добавть контакт
num.add(newNum); / и номер телефона с позицией
contact.add(newContact);
boolean newNum = false; /проверка на повторение
boolean newContact = false;}
public void WindowBuilder(ref Contactlist buildRef);
}
public class Contact extends Contactlist{ /класс Контакт наследник класса Контактлист
private string name; /имя конакта (номера телефона)
private string status; /статус контакта
private int gender; /пол: 0 - муж., 1 - жен.
gender = boolean gender;
private set message = new HashSet(); /список сообщений
private set num = new HashSet(); /список номеров
public Contact(string n, Contact c){ /имя и ячейка контакта
n = name;
c = contact }
public string getStatus() { /просмотр статуса
return status; }
public int getGender() { /просмотр пола
return gender}
public void setNum(Contactlist NewNum){ /изменить номер телефона и позицию
num = NewNum;
boolean NewNum = false;}
public set getNum(){ /просмотр номера телефона и позиции
return num;}
public void WindowBuilder(ref Contact buildRef);
}
public class Search{ /класс Поиск
private string searchname; /поиск по имени
private int searchnumber; /поиск по номеру
private set contact = new HashSet(); /список контактов
private set num = new HashSet(); /список номеров
public void setSearchName(string Findname) { /ввод значений в поиск по имени
searchname = Findname;}
public void setSearchNumber(int Findnumber) { /... по номеру
searchnumber = Findnumber;}
public set getSearchName() { /показать результат поиска
if (searchname == name) /если имена совпали
return contact; } /выводится результат
public set getSearchNumber() {
if (searchnumber == num)
return num;}
public void WindowBuilder(ref Search buildRef);
}
public class Message{ /класс Сообщений
private string text; /текст сообщения
private Date date; /дата сообщения
private Time time; /время сообщения
private boolean recived; /отправленное сообщение
private boolean read; /полученное сообщение
public set getTime(){
return time; }
public set getDate(){
return date;}
public void setText(string NewText) {
text = NewText;}
public set getRead(){ /считывание всех строчных значений в заданном промежутке,
boolean substring(0, NewText) = false; /повторяющийся результат отображаться не будет
return read; }
public set getRecived(){
boolean substring(New Text) = false;
return recived;}
public void WindowBuilder(ref Message buildRef);
}
public class Date{ /класс Даты
private int day;
private int month;
private int year;
public set getDay(){
return day;}
public set getMonth(){
return month;}
public set getYear(){
return year;}
}
public class Time{ /класс Времени
private int hours;
private int minutes;
private int seconds;
public set getHours(){
return hours;}
public set getMinutes(){
return minutes;}
public set getSeconds(){
return seconds;}
}
Функциональная спецификация протоколов приложений WhatsApp, Telegram