CIS 199 Test 01 Review
Download
Report
Transcript CIS 199 Test 01 Review
CIS 199 Final Review
New Material
Classes
Reference type
NOT a value type!
Can only inherit from ONE base class
Properties
Class member
Holds a piece of data, information within an object
Accessors: get, set
Can use auto-implemented when validation is not required
If need validation, must create own backing field (instance
variable) and write own get and set accessors
Read-only property – only has get, no set (no public set, at least)
Controllable scope
readonly
Can make an instance variable readonly
Initial value will be established in constructor
After value is set, it may not change again
Inheritance
Extend, Expand an existing class
Specialization
Generalization
“All students are a person, but not all persons are a student”
Derived class “IS-A” base class
Student IS-A Person
Even if no base class is specified, one will be provided
Object
This is where method ToString was originally defined
Protected vs Private
What is the difference between Protected vs Private?
Protected vs Private
Private-The type or member can be accessed only by code in
the same class
Protected -The type or member can be accessed only by
code in the same class, or in a class that is derived from that
class.
Polymorphism
Complicated Concept
An object’s ability to take on, become different forms
Child classes take on properties of parent
Objects may be treated as base class
Students can be treated as a person
Keywords of note:
“override” – New implementation of a member in a child class
that is inherited from base class
“virtual” – Class member that may be overridden in a child class
“abstract” – Missing or incomplete member implementation.
MUST be implemented by child classes // More a 200 concept
Abstract Classes
Generic class
Provides some members, some information
CAN NOT be created directly
Meaning direct instantiation is illegal
Serves as a common “base” for related objects
Test 01 Material
Computer Hardware
Central Processing Unit (CPU)
Brains
Operations performed here
Main Memory (RAM)
Scratchpad
Work area for programs, process, temporary data
Secondary Storage
Hard drive
Flash drive
CD, DVD
Input, Output Devices
Input
Takes data IN
Keyboard, Mouse, Game Controller, Microphone
Output
Pushes, places data OUT
Display, Speakers, Printers
Programs and Digital Data
Programs
Operating Systems. Microsoft Office, Web browsers
Instructions read by CPU and processed
Digital Data
1’s
0’s
…forms binary (base 2)
Built-In Types
Formatted Output
Placeholders
Letter codes – C, D, F, P
Precision
Field width
Console.WriteLine(“x = {0,-10:F2}”, x);
Operators
++, - Postfix vs Prefix
int x = 5;
int y;
y = x++; vs y = ++x;
Shorthand operators
+=, -=
Integer division
1/2 == 0
1.0 / 2.0 == 0.5
10 / 3 == 3, 10 % 3 == 1
= vs ==
Properties
Exposed “Variables” or accessible values of an object
Can have access controlled via scope modifiers
When thinking of properties: Values and definitions
“get” – Code to run before returning a value
“set” – Code to run before updating a value
Can be used for validation and other processing actions
“value” is a keyword in “set”
Methods
Actions, code to be executed
May return a value, may take value (not required)
Can be controlled via scope keywords
Can be static
// Different example
Scope
“private” – Can only be accessed by the class, object itself
“protected” – Can only be accessed by the class, object, or
any child classes, objects
“public” – Available access for all
Named Constants
AVOID MAGIC NUMBERS!
Allows for reference across similar scope
Change once, changes everywhere
// ALL CAPS
Conditional Logic
if(expression)
If ‘expression’ is true
If not true, skipped
else if(expression)
Can be used to ‘chain’
conditions
Code runs if ‘expression’ is
true
else
Code to execute if
‘expression’ false
Statements can be nested
Relational Operators
>
Greater than
<
Less than
>=
Greater than OR equal to
<=
Less than OR equal to
==
Equal to
!=
NOT equal to
X>Y
X >= Y
X<Y
X <= Y
X == Y
X != Y
Operator Precedence
(Highest)
++, --, !
*/%
+ < > <= >=
== !=
&&
||
= *= /= %= += -=
(Lowest)
Comparing Strings, Chars
You can use
==, !=
You cannot use
>, >=, <, <=
You SHOULD use:
String.Compare(s1, s2)
s1 > s2
Returns positive Number
s1 = s2
Returns zero
s1 < s2
Returns negative number
Compares the unicode
value of EACH character
Test 02 Material
Basic GUI Example
Textboxes, labels, buttons, checkboxes, radiobuttons, panels,
groupbox
Event handler
Loops
for
“For a given value X, while X is true, modify X…”
while
“While X is true…”
do – while
“Do these tasks, while X is true…”
foreach
“For every X in this set of Y do the following…”
for Example
while Example
do while Example
foreach Example
Key Loop Details
Loops are NOT guaranteed to execute at least once!
…only exception is ‘do while’
Pretest vs posttest, or entry vs exit test
‘for’ loops require a variable, condition, and ‘step’ instruction
‘while’, ‘do while’ loops require a boolean expression
‘foreach’ loops require a collection of items
Arrays
Indefinite repetition – sequential search, sentinel control,
validation loop
Nested loops
Output
Methods
Actions, code to be executed
May return a value, may take value (not required)
Can be controlled via scope keywords
Can be static
Methods & Modularizing Your Code
Methods
Break out ‘steps’
Easier to test
Easier to visualize
Top Down Design
Arrays
Arrays
Sample Questions on
Blackboard Wiki
What does ‘WYSIWYG’ stand for?
What
You
See
Is
What
You
Get
What is the difference between a
high-level and a low-level
language?
Low-Level
Little to no ‘abstraction’ from the hardware or computer
“Close to the hardware”
Simple, but Difficult to use
Machine code, assembly, C (in some cases)
High-Level
Very strong ‘abstraction’ from the hardware or computer
“Far from the hardware”
Easier to use, abstraction adds complexity
C++, Java, C#, Python
How is the lifetime of a FIELD
different from a lifetime of LOCAL
variable?
Fields are members of their
containing type
Fields can be used
everywhere with
appropriate scope
Local variables can be used
only in their “local”
environment
What two things does a
variable declaration specify
about a variable?
Type
Identifier
TYPE
IDENTIFIER
Describe ‘&&’ and ‘||’ and how they
work.
&& (AND)
Returns true if conditions are
ALL true
“If you do well on the test
AND the quiz, you will earn a
great grade!”
|| (OR)
Returns true if ANY
conditions are true
“You can run a mile OR walk
two miles (possible do both!)”
Both short circuit
Why is ‘TryParse’ more effective
than ‘Parse’?
Less code
No try / catch required
What is the difference between
a SIGNED an UNSIGNED int?
What is the difference between
syntax errors and logic errors?
Syntax Errors – Errors that prevent compilation or other
factors that prevent successful compilation
string myString = string.Empty; // Won’t compile, syntax error
Logic Errors – Errors that occur during runtime, such as
incorrect comparison or other unexpected behavior
If(grade > 60) { Code if grade is F } // Incorrect operator used
What are the “Five logical units”?
CPU – Processing, instructions
Memory – Scratch pad, working space (Temporary)
Secondary Storage – Hard drives, storage (Long term)
Input – Keyboards, Mice, Controllers
Output – Monitors, Speakers, Printers
Explicit type conversion? Why and how?
Variables must be used for a single type never change
Move from one type to another, must cast
EXPLICIT cast / type conversion
Aware of information loss
Write a code fragment that will
display “Good Job” when int
variable score is 80 or more, “OK”
when score is 70 – 79, and “Needs
Work” for any score under 70.
Write a code fragment that will
apply a 10% discount to the value
in double variable total when int
variable numItems is 5 or more
and int variable zone is 1, 3 or 5.
The ‘switch’ statement can replace
nested if/else. But under what
conditions?
When matching on a specific…
Value
Type
Enumeration
…other data
Doesn’t work for floating point types
What does a ‘break’ statement do
in a loop?
It stops (BREAKS) loop execution
Code continues, no further loop iterations
Example:
switch (comboBox1.SelectedItem.ToString())
{
case "A":
class_one_textBox = int.Parse(textBox1.Text);
grade = 4.00 * class_one_textBox;
break;
case "A-": class_one_textBox =int.Parse(textBox1.Text);
grade = 3.67 * class_one_textBox;
break;
What does a ‘continue’ statement
do in a loop?
Goes to the next iteration
CONTINUES loop execution, by skipping current iteration
This is only time a for loop would behave differently than a
while loop
What are preconditions and
postconditions for a method?
PRECONDITIONS
Conditions that MUST be TRUE before method execution
POSTCONDITIONS
Conditions that WILL be TRUE after method execution
What is the difference between a
void method and a value-returning
method?
VOID Method
Returns nothing!
…a void return.
Value-Returning
Returns a value!
…that’s not a void return.
Compare and contrast the use of
pass by value against pass by
reference, using key word ref
versus pass by reference using
keyword out.
Pass by Value
Passes a copy of the value
Not the object itself
Pass by Reference
Passes the actual object itself
‘ref’
Causes a pass by reference on a variable
‘out’
Is used to reference a variable that the method will update
How can REACH
further help you
today?
Ask Questions Now!
Need to see an Example?
Need to see a concept again?