Описание кода приложений 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

Наши рекомендации