Енкапсулация (програмиране): Разлика между версии
Изтрито е съдържание Добавено е съдържание
м неправилно членуване - предлог и пълен член |
м Bot: Replace deprecated <source> tag and "enclose" parameter |
||
Ред 15:
Почти винаги има начин да се заобиколи тази защита – обикновено чрез рефлекшън (отражение) в API ([[Ruby]], [[Java]], [[C Sharp|C#]] и т.н.), понякога чрез механизъм, като изопачаване на името (name mangling) ([[python]]), или специални запазени думи като на <code>friend</code> в C++.
По-долу е даден пример на [[C Sharp|C#]], който показва как достъпът до полето с данни може да бъде ограничен, чрез използване на запазената дума <code>private</code>:<
class Program {
public class Account {
Ред 34:
}
}
</
public class Employee {
Ред 48:
}
}
</
class Account {
/**
Ред 108:
// Our code forbids us from withdrawing more than we have
$myAccount->withdraw(600.00); // Exception Message: Cannot withdraw $600 from account as it contains $505.79
</
// Header file "api.h"
Ред 117:
extern int process_entity(struct Entity *info);
extern void close_entity(struct Entity *info);
</
// Implementation file "api.c"
Ред 138:
void close_entity(struct Entity *info)
{ ... }
</syntaxhighlight>
== Историческо значение ==
|