Introduction Flashcards
- In general what are records?
- What is an example in C?
- What is the point of a record?
- Give an ADT example of a record
- What is the “state” of a record
- Several types of data stored together (a collection of fields, or attributes)
- a struct
- The point is to treat a number of pieces of different data types as a unit
- We could make a stack and pass it to a method as a single entity
- The set of values at any given time defines the state of that structure
In general what is a class?
What are objects?

What is an instance variables and methods?

What is the difference between a class and a record?

In general what is an ADT?


- Nothing to stop outside code from changing stack internals
- The code isn’t as generic as it could be(the type of the elements inside the stack has to be defined at compile-time)
- What we want from an ADT is indepence of interface and implementation (at least in C, separating the header from the implemnetation gives an appears of that…)
- From an ADT standpoint, this is not ecapsilated(anyone can alter stack internals)
- An OO approach can trun this into an active data structure by combining the valid operations(of stack, e.g, push, pop) with the data itself
- An object takes requests from outside code, but the operations changing the state of the data structure are controlled by the object itself
- Objects are encapsulated and make strong use of data higin(thus protecting the internals)
In general what is the idea of messaging?

In general what are methods?

In general what do classes do and what is their general relationship?

What do classes define?

What can subclasses do to any of the methods of it’s superclass?
use, modify, replace
In terms of objects, what is a component?
One object contains another
In general how are the structures of classes viewed?

If an object is sent a message, which object/class runs the method?

In general, what is binding?

In general, what is dynamic binding?
What is static binding
Dynamic = happens at run time
Static = happens at compile time
Dynamic binding is basically how a superclass works, a superclass can contain any intance of that class or any other class that is a descendant

Explain if the following lines of code are legal and why.
s.giveInterest();
a=s;
Test.aMethod(s);
boolean x = a.validate(); x = s.validate();
a.giveInterest();
s = (SavingsAccount) a;


In the code below(blue) why is this unsafe and what is the proper way?

What is Method-message mapping?
