Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 199 Final Review. New Material Classes  Reference type  NOT a value type!  Can only inherit from ONE base class.

Similar presentations


Presentation on theme: "CIS 199 Final Review. New Material Classes  Reference type  NOT a value type!  Can only inherit from ONE base class."— Presentation transcript:

1 CIS 199 Final Review

2 New Material

3 Classes  Reference type  NOT a value type!  Can only inherit from ONE base class

4 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

5

6 readonly  Can make an instance variable readonly  Initial value will be established in constructor  After value is set, it may not change again

7 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

8

9

10 Protected vs Private What is the difference between Protected vs Private?

11 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.

12 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

13 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

14

15 Test 01 Material

16 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

17 Input, Output Devices  Input  Takes data IN  Keyboard, Mouse, Game Controller, Microphone  Output  Pushes, places data OUT  Display, Speakers, Printers

18 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)

19 Built-In Types

20 Formatted Output  Placeholders  Letter codes – C, D, F, P  Precision  Field width Console.WriteLine(“x = {0,-10:F2}”, x);

21 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 ==

22 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”

23

24 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

25 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

26 Named Constants  AVOID MAGIC NUMBERS!  Allows for reference across similar scope  Change once, changes everywhere  // ALL CAPS

27 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

28 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

29 Operator Precedence  (Highest)  ++, --, !  * / %  + -  =  == !=  &&  ||  = *= /= %= += -=  (Lowest)

30 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

31 Test 02 Material

32 Basic GUI Example  Textboxes, labels, buttons, checkboxes, radiobuttons, panels, groupbox  Event handler

33 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…”

34 for Example

35 while Example

36 do while Example

37 foreach Example

38 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

39 Nested loops Output

40 Methods  Actions, code to be executed  May return a value, may take value (not required)  Can be controlled via scope keywords  Can be static

41 Methods & Modularizing Your Code  Methods  Break out ‘steps’  Easier to test  Easier to visualize  Top Down Design

42 Arrays

43

44 Sample Questions on Blackboard Wiki

45 What does ‘WYSIWYG’ stand for?  What  You  See  Is  What  You  Get

46 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

47 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

48 What two things does a variable declaration specify about a variable?  Type  Identifier TYPEIDENTIFIER

49 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

50 Why is ‘TryParse’ more effective than ‘Parse’?  Less code  No try / catch required

51 What is the difference between a SIGNED an UNSIGNED int?

52 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

53 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

54 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

55 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.

56 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.

57 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

58 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;

59 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

60 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

61 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.

62 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

63 How can REACH further help you today?  Ask Questions Now!  Need to see an Example?  Need to see a concept again?


Download ppt "CIS 199 Final Review. New Material Classes  Reference type  NOT a value type!  Can only inherit from ONE base class."

Similar presentations


Ads by Google