November 2017
Intermediate to advanced
670 pages
17h 35m
English
An OOP application can recall its hidden information and mutate it. An object's method can be called multiple times during the lifetime of the application. Each call to the same method with the same call signature can produce different results every time. This characteristic of its behavior makes OOP unreliable and difficult to test effectively.
OOP is inconsistent with basic mathematics. In OOP, due to an object's mutable state, we cannot always call a method with the same parameters each time and always get the same results. There is no mathematical model for OOP. For example, if we call myMethod(1,2) and get 3 the first time and get 4 the next time, due to the mutable state and internal calls to other objects, then the ...