|
Authored by: Anonymous on Saturday, May 05 2012 @ 08:31 AM EDT |
It describes a process in natural languages
It is a concept in programming languages; any of them.
[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Saturday, May 05 2012 @ 11:32 AM EDT |
"C++?
extends = implementation inheritance
implements = interface inheritance"
dog extends animal implements make noise
implements: interface inheritance
[java type] Interface inheritance (abstract pure virtual in c++) is all in the
implementation, the [java type] Interface gives you only a list of names that
you must implement.
It is not possible to make an Object (instantiate a class) from an [java type]
interface.
Nothing is inherited, the [java type] Interface only indicates that Dog must
have the functions listed in makeNoise.
(which in our case is a function that has the same name as the [java type]
Interface)
It is the very definition of merger doctrine, you cannot separate the idea from
it's expression. If you change the expression in any way it is not the same
idea.
Nothing is 'inherited' it only tells you what you must implement.
Extends: implementation inheritance
dog extends animal: in actual memory : Simplified.
memloc1 (AnimalData) <--an Object of the Animal Class
memloc2 (memloc1, DogData)<--an Object of the Dog Class
memloc3 Animal.Func1
memloc4 Animal.Func2
memloc5 Dog.Func1
memloc6 Dog.Func3
memloc6 Dog.makeNoise
They are separate things, the Dog Object inherits nothing.
It 'Overrides' Func1, it has it's own Func3, if a user program tries to access
Dog->Func2, the runtime (JVM/Linker) will redirect the request to memloc4
Animal->Func2
The Dog Object/Class does not "inherit" a Func2 in the way that your
son has 'inherited' your grandfathers nose.
Inheritance does not actually exist, it is a conceptual shortcut to an idea
contained in a branch of programming methodology related to certain ideas and
processes with regards to memory management and function/data encapsulation.[ Reply to This | Parent | # ]
|
- specifically - Authored by: Anonymous on Saturday, May 05 2012 @ 04:28 PM EDT
|
|
|
|