cis 199 final review
Download
Skip this Video
Download Presentation
CIS 199 Final Review

Loading in 2 Seconds...

play fullscreen
1 / 63

CIS 199 Final Review - PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CIS 199 Final Review' - jonah-bentley


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
classes
Classes
  • Reference type
    • NOT a value type!
  • Can only inherit from ONE base class
properties
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
readonly
  • Can make an instance variable readonly
  • Initial value will be established in constructor
  • After value is set, it may not change again
inheritance
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
Protected vs Private

What is the difference between Protected vs Private?

protected vs private1
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
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
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
computer hardware
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, Output Devices
  • Input
    • Takes data IN
    • Keyboard, Mouse, Game Controller, Microphone
  • Output
    • Pushes, places data OUT
    • Display, Speakers, Printers
programs and digital data
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)
formatted output
Formatted Output
  • Placeholders
  • Letter codes – C, D, F, P
  • Precision
  • Field width

Console.WriteLine(“x = {0,-10:F2}”, x);

operators
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 ==
properties1
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
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
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
Named Constants
  • AVOID MAGIC NUMBERS!
  • Allows for reference across similar scope
  • Change once, changes everywhere
  • // ALL CAPS
conditional logic
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
Relational Operators
  • >Greater 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
Operator Precedence
  • (Highest)
  • ++, --, !
  • * / %
  • + -
  • < > <= >=
  • == !=
  • &&
  • ||
  • = *= /= %= += -=
  • (Lowest)
comparing strings chars
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
basic gui example
Basic GUI Example
  • Textboxes, labels, buttons, checkboxes, radiobuttons, panels, groupbox
  • Event handler
loops
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…”
key loop details
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
methods1
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 & Modularizing Your Code
  • Methods
    • Break out ‘steps’
    • Easier to test
    • Easier to visualize
  • Top Down Design
what is the difference between a high level and a low level language
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
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
describe and and how they work
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
what is the difference between syntax errors and logic errors
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
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
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
slide55
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.
slide56
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
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
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
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
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
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.
slide62
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
How can REACH further help you today?
  • Ask Questions Now!
  • Need to see an Example?
  • Need to see a concept again?
ad