SSE3052: Embedded Systems Practice
|
|
- Candice Baker
- 5 years ago
- Views:
Transcription
1 SSE3052: Embedded Systems Practice Minwoo Ahn Computer Systems Laboratory Sungkyunkwan University SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong
2 Agenda Learning Java! Installation Class, method, and object Inheritance Predefined class (String) Interface Exception handling ArrayList SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong 2
3 Object oriented programming Vehicle class Inheritance Color Type Fuel Company SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong 3
4 Installation JDK (Java Development Kit) Check if JDK is installed (maybe not installed) $javac version If not, install JDK $sudo apt install default-jdk Eclipse IDE Go to Download Eclipse IDE for Java Developers Untar Execute eclipse-inst SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong 4
5 Warm up (Hello World!) public class HelloWorld { public static void main(string[] args) { System.out.println( Hello World! ); HelloWorld class main method (~= function in C language) public access modifier (public, private, protected) SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 5
6 C code vs. Java code C code int funca() { int funcb() { int funcc() { int main() { funca(); funcb(); funcc(); Java code class classa { int methoda() { int methodb() { int methodc() { class classb { int methoda() { int methodb() { int methodc() { class classc { static void main() { SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 6
7 Class A class is a template that describes data and behavior Similar with structure in C language Ex) class person { String firstname; // Instance variable public String getfirstname() { return firstname; //Getter (method) public void setfirstname(string firstname) { this.firstname = firstname; // Setter (method) SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 7
8 class Person { String firstname; String lastname; int age; public void Person(String a, String b, int value) { firstname = a; lastname = b; age = value; Constructor public String getfirstname() { return firstname; public void setfirstname(string firstname) { this.firstname = firstname; public String getlastname() { return lastname; public void setlastname(string lastname) { this.lastname = lastname; public int getage() { return age; public void setage(int age) { this.age = age; public String tostring() { return firstname + " " + lastname; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 8
9 Object An object is an instance of a class Ex) public class Main { public static void main(string[] args) { Person person = new Person( Jim, Knopf, 21); Person p2 = new Person( Jill, Sanders, 20); // Jill gets married to Jim // and takes his name p2.setlastname( Knopf ); System.out.println(p2); // Jill Knopf will printed SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 9
10 Constructor A special method that is invoked when creation of instance Name of constructor is ALWAYS the name of the class No return type One class can include several constructor (overloading) If no explicit constructor is defined, compiler implicitly adds a constructor with default values SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 10
11 Example (3 constructors) class Person { String firstname; String lastname; int age; public Person() { firstname = "No"; lastname = "Name"; age = 0; public Person(String a, String b) { firstname = a; lastname = b; age = 0; public Person(String a, String b, int value) { firstname = a; lastname = b; age = value; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 11
12 Method overloading More than on method with the same name, different arguments Type of return value doesn t matter Ex) Class PrintStream { public void println(string s) { public void println(double a) { (O) class PrintStream { public void println(string s) { public int println(string s) { (X) SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 12
13 Exercise 1 Implement a class circle that has methods double getarea() and double getperimeter(). In the constructor, supply the radius of the circle. If radius is not given by user, default value is 10. SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 13
14 Inheritance A subclass which derived from superclass Superclass Person Ex) Class Person { Subclass Student Doctor Professor Class Students extends Person { int grade; public Student() { SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 14
15 Example (Student derived from Person) class Student extends Person { int grade; public Student(String a, String b, int age, int grade) { super(a, b, age); //Constructor of superclass Person this.grade = grade; public int getgrade() { return grade; public void setgrade(int grade) { this.grade = grade; public String tostring() { return getfirstname() + " " + getlastname() + " is grade " + grade; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 15
16 Example cont. (Main) class Main { public static void main(string[] args) { Student s1 = new Student("Bill", "Gates", 13, 9); s1.setfirstname("steve"); s1.setgrade(10); System.out.println(s1); // Steve Gates is grade 10 will printed SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 16
17 Method overriding Method redeclaration Ex) class BaseClass { public String tostring() { return Base ; class ChildClass extends BaseClass { public String tostring() { return Child ; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 17
18 Method overriding public class Main { public static void main(string[] args){ BaseClass a = new BaseClass(); ChildClass b = new ChildClass(); System.out.println(a); // base System.out.println(b); // child SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 18
19 Available access modifier Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N No modifier Y Y N N private Y N N N SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 19
20 String class String class represents array of characters All string literals are implemented as instances of String class Strings are immutable Initialization Ex) String s = text ; Ex) String s = new String( text ); SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 20
21 String methods char charat(int index) Returns the char value at the specified index. String concat(string str) Concatenates the specified string to be the end of this string. boolean endswith(string suffix) Tests if this string ends with the specified suffix. boolean equals(object anobject) Compares this string to the specified object. int indexof(int ch) Returns the index within this string of the first occurrence of the specified character. int indexof(string str) Returns the index within this string of the first occurrence of the specified substring. int length() Returns the length of this string. More APIs: SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong 21
22 Exercise 2 Write a superclass Worker and subclasses HourlyWorker and SalariedWorker. Every worker has a name and a salary rate. Write a method computepay(int hours) that computes the weekly pay for every worker. An hourly worker gets paid the hourly wage for the actual number of hours worked, if hours is at most 40. If the hourly worker worked more than 40 hours, the excess is paid at time and a half. The salaried worker gets paid the hourly wage for 40 hours, no matter what the actual number of hours is. Supply a test program to test these classes and methods. (Provide tostring() for each classes) SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 22
23 Interface Declares a set of methods and their signatures Unlike class Provides no implementation Cannot instantiate Does not contain any constructor Ex) public interface Worker { double computepay(int hours); SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 23
24 implement for interface public class HourlyWorker implements Worker { private double rate; public HourlyWorker(double rate) { this.rate = rate; public double computepay(int hours) { if (hours > 40) return (hours 40) * rate * * rate; else return hours * rate; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 24
25 implement for interface cont. public class SalariedWorker implements Worker { private int rate; public SalariedWorker(int rate) { this.rate = rate; public double computepay(int hours) { if (hours > 40) return 40 * rate; else return hours * rate; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 25
26 implement for interface cont. public class Main { public static void main(string[] args) { Worker worker1 = new Worker(); // Error Worker worker2 = new HourlyWorker(7.5); Worker worker3 = new SalariedWorker(10); System.out.println("worker2: " + worker2.computepay(40)); System.out.println("worker3: " + worker3.computepay(80)); SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 26
27 implement for interface cont. public class SomeClass { public void howmuch(worker worker) { System.out.println("You earn " + worker2.computepay(40)); // You earn 300 will printed for worker2 // You earn 400 will printed for worker3 SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 27
28 Implementing multiple interfaces A class can implement multiple interfaces Cannot inherit multiple superclasses Ex) public interface AAA { public int a(); public interface BBB { public int b(); public class CCC implements AAA,BBB { public int a() { ; public int b() { ; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 28
29 Exception handling An exception is an event to indicate an error Catch Throw SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong 29
30 Types of exceptions Checked exception Checked at compile-time All subclasses of Exception except RuntimeException Unchecked Exception Not checked at compile-time rather checked at runtime Subclasses of RuntimeException Ex) ArithmeticException Int a = 50 / 0; Ex) NullPotinerException String s = null; System.out.println(s.length); Ex) ArrayIndexOutofBoundsException Int a[] = new int [5]; a[10] = 50; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 30
31 Throwing exception public class BankAccount { public void withdraw(double amount) { if (amount > balance) { // // now what? balance = balance amount; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 31
32 Throwing exception cont. public class BankAccount { public void withdraw(double amount) { if (amount > balance) { IllegalArgumentException exception = new IllegalArgum entexception("amount exceeds balance"); throw exception; balance = balance amount; SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 32
33 Catching exception public static void main(string[] args) { BankAccount acct = new BankAccount(100); try { acct.withdraw(200); catch (IllegalArgumentException ex) { System.out.println("Withdraw failed."); //or ex.printstacktrace(); SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 33
34 Exercise 3 Modify the BankAccount class to throw IllegalArgumentException when the account is constructed with a negative balance, when a negative amount is deposited, or when an amount that is not between 0 and the current balance is withdrawn. Write a test program that causes all three exceptions to occur and that catches them all SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 34
35 ArrayList An ArrayList is a sequence of objects Ex) Assume that Coin class is already defined ArrayList coins = new ArrayList(); coins.add(new Coin(0.1, dime )); coins.add(new Coin(0.25, quarter )); SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 35
36 ArrayList methods boolean add(e e) Appends the specified element to the end of this list. void add(int index, E element) Inserts the specified element at the specified position in this list. E get(int index) Returns the element at the specified position in this list. E remove(int index) Removes the element at the specified position in this list. int size() Returns the number of elements in this list. SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 36
37 Exercise 4 Implement a class Bank that contains an array list of BankAccount objects. Support methods, public void addaccount(double initialbalance) public void deposit(int account, double amount) public void withdraw(int account, double amount) public double getbalance(int account) An account number is simply an index into the array list SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 37
COE318 Lecture Notes Week 10 (Nov 7, 2011)
COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management
More informationINTERFACE WHY INTERFACE
INTERFACE WHY INTERFACE Interfaces allow functionality to be shared between objects that agree to a contract on how the software should interact as a unit without needing knowledge of how the objects accomplish
More informationCS1150 Principles of Computer Science Objects and Classes
CS1150 Principles of Computer Science Objects and Classes Yanyan Zhuang Department of Computer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Colorado Springs Object-Oriented Thinking Chapters 1-8
More informationInheritance and Polymorphism
Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management
More informationIndex COPYRIGHTED MATERIAL
Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationAbstract class & Interface
Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2124) Lab 3 Abstract class & Interface Eng. Mohammed Abdualal Abstract class 1. An abstract
More informationCISC-124. Passing Parameters. A Java method cannot change the value of any of the arguments passed to its parameters.
CISC-124 20180215 These notes are intended to summarize and clarify some of the topics that have been covered recently in class. The posted code samples also have extensive explanations of the material.
More information1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4'
Practice questions: 1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4' 2. Will System.out.println((char)4) display 4? a. Yes b. No 3. The expression "Java
More informationCIS 110: Introduction to Computer Programming
CIS 110: Introduction to Computer Programming Lecture 22 and 23 Objects, objects, objects ( 8.1-8.4) 11/28/2011 CIS 110 (11fa) - University of Pennsylvania 1 Outline Object-oriented programming. What is
More informationClass. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong
Class Prof. Jinkyu Jeong (Jinkyu@skku.edu) TA -- Minwoo Ahn (minwoo.ahn@csl.skku.edu) TA -- Donghyun Kim (donghyun.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu
More informationOutline. CIS 110: Introduction to Computer Programming. Any questions? My life story. A horrible incident. The awful truth
Outline CIS 110: Introduction to Computer Programming Lecture 22 and 23 Objects, objects, objects ( 8.1-8.4) Object-oriented programming. What is an object? Classes as blueprints for objects. Encapsulation
More informationPractice Questions for Final Exam: Advanced Java Concepts + Additional Questions from Earlier Parts of the Course
: Advanced Java Concepts + Additional Questions from Earlier Parts of the Course 1. Given the following hierarchy: class Alpha {... class Beta extends Alpha {... class Gamma extends Beta {... In what order
More informationCSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2017 Instructors: Bill & Bill
CSCI 136 Data Structures & Advanced Programming Lecture 3 Fall 2017 Instructors: Bill & Bill Administrative Details Lab today in TCL 216 (217a is available, too) Lab is due by 11pm Sunday Copy your folder
More informationFaculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Final Examination
First Name: Last Name: McGill ID: Section: Faculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Final Examination Thursday, December 11, 2008 Examiners: Mathieu Petitpas [Section 1] 14:00
More informationCH. 2 OBJECT-ORIENTED PROGRAMMING
CH. 2 OBJECT-ORIENTED PROGRAMMING ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) OBJECT-ORIENTED
More informationCreate a Java project named week9
Objectives of today s lab: Through this lab, students will explore a hierarchical model for object-oriented design and examine the capabilities of the Java language provides for inheritance and polymorphism.
More informationCS Week 13. Jim Williams, PhD
CS 200 - Week 13 Jim Williams, PhD This Week 1. Team Lab: Instantiable Class 2. BP2 Strategy 3. Lecture: Classes as templates BP2 Strategy 1. M1: 2 of 3 milestone tests didn't require reading a file. 2.
More informationInf1-OP. Classes with Stuff in Common. Inheritance. Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein.
Inf1-OP Inheritance UML Class Diagrams UML: language for specifying and visualizing OOP software systems UML class diagram: specifies class name, instance variables, methods,... Volker Seeker, adapting
More informationInf1-OP. Inheritance. Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein. March 12, School of Informatics
Inf1-OP Inheritance Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein School of Informatics March 12, 2018 UML Class Diagrams UML: language for specifying and visualizing OOP software
More informationPART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE
PART 1 Eclipse IDE Tutorial Eclipse Java IDE This tutorial describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs and tips for using Eclipse.
More informationDay 4. COMP1006/1406 Summer M. Jason Hinek Carleton University
Day 4 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments questions about assignment 2 a quick look back constructors signatures and overloading encapsulation / information
More informationName Return type Argument list. Then the new method is said to override the old one. So, what is the objective of subclass?
1. Overriding Methods A subclass can modify behavior inherited from a parent class. A subclass can create a method with different functionality than the parent s method but with the same: Name Return type
More informationI pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.
Name: Covers Chapters 1-3 50 mins CSCI 1301 Introduction to Programming Armstrong Atlantic State University Instructor: Dr. Y. Daniel Liang I pledge by honor that I will not discuss this exam with anyone
More informationIslamic University of Gaza Faculty of Engineering Computer Engineering Department
Student Mark Islamic University of Gaza Faculty of Engineering Computer Engineering Department Question # 1 / 18 Question # / 1 Total ( 0 ) Student Information ID Name Answer keys Sector A B C D E A B
More informationIS502052: Enterprise Systems Development Concepts Lab 1: Java Review
IS502052: Enterprise Systems Development Concepts Lab 1: Java Review I. Introduction In this first lab, we will review the Java Programming Language, since this course is focus on Java, especially, Java
More informationCompuScholar, Inc. 9th - 12th grades
CompuScholar, Inc. Alignment to the College Board AP Computer Science A Standards 9th - 12th grades AP Course Details: Course Title: Grade Level: Standards Link: AP Computer Science A 9th - 12th grades
More informationCSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2018 Instructors: Bill & Bill
CSCI 136 Data Structures & Advanced Programming Lecture 3 Fall 2018 Instructors: Bill & Bill Administrative Details Lab today in TCL 217a (and 216) Lab is due by 11pm Sunday Lab 1 design doc is due at
More informationCISC 3115 TY3. C09a: Inheritance. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 9/20/2018 CUNY Brooklyn College
CISC 3115 TY3 C09a: Inheritance Hui Chen Department of Computer & Information Science CUNY Brooklyn College 9/20/2018 CUNY Brooklyn College 1 Outline Inheritance Superclass/supertype, subclass/subtype
More informationFaculty of Science COMP-202B - Introduction to Computing I (Winter 2009) - All Sections Final Examination
First Name: Last Name: McGill ID: Section: Faculty of Science COMP-202B - Introduction to Computing I (Winter 2009) - All Sections Final Examination Wednesday, April 29, 2009 Examiners: Mathieu Petitpas
More informationUsing Java reflection to reduce Code and Development time in DFS
Using Java reflection to reduce Code and Development time in DFS Java reflections is one of the most powerful API s of Java Language, this can be used to reduce code significantly. Most of the Current
More informationEncapsulation. Inf1-OOP. Getters and Setters. Encapsulation Again. Inheritance Encapsulation and Inheritance. The Object Superclass
Encapsulation Again Inheritance Encapsulation and Inheritance Inf1-OOP Inheritance and Interfaces Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics March 9, 2015 The Object
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions
More informationInf1-OOP. Inheritance and Interfaces. Ewan Klein, Perdita Stevens. January 12, School of Informatics
Inf1-OOP Inheritance and Interfaces Ewan Klein, Perdita Stevens School of Informatics January 12, 2013 Encapsulation Again Inheritance Encapsulation and Inheritance The Object Superclass Flat vs. Nested
More informationREVIEW EXERCISES. Draw an inheritance diagram that shows the relationships between these classes.
Review Exercises 367 11. A derived-class pointer can be converted to a base-class pointer. 12. When a virtual function is called, the version belonging to the actual type of the implicit parameter is invoked.
More informationCSCI-142 Exam 1 Review September 25, 2016 Presented by the RIT Computer Science Community
CSCI-12 Exam 1 Review September 25, 2016 Presented by the RIT Computer Science Community http://csc.cs.rit.edu 1. Provide a detailed explanation of what the following code does: 1 public boolean checkstring
More informationTeenCoder : Java Programming (ISBN )
TeenCoder : Java Programming (ISBN 978-0-9887070-2-3) and the AP * Computer Science A Exam Requirements (Alignment to Tennessee AP CS A course code 3635) Updated March, 2015 Contains the new 2014-2015+
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions and
More informationObjects and Classes. 1 Creating Classes and Objects. CSCI-UA 101 Objects and Classes
Based on Introduction to Java Programming, Y. Daniel Liang, Brief Version, 10/E 1 Creating Classes and Objects Classes give us a way of defining custom data types and associating data with operations on
More informationProgramming overview
Programming overview Basic Java A Java program consists of: One or more classes A class contains one or more methods A method contains program statements Each class in a separate file MyClass defined in
More informationWEEK 13 EXAMPLES: POLYMORPHISM
WEEK 13 EXAMPLES: POLYMORPHISM CASE STUDY: PAYROLL SYSTEM USING POLYMORPHISM Use the principles of inheritance, abstract class, abstract method, and polymorphism to design a payroll project for a car lot.
More informationSubclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented
Table of Contents L01 - Introduction L02 - Strings Some Examples Reserved Characters Operations Immutability Equality Wrappers and Primitives Boxing/Unboxing Boxing Unboxing Formatting L03 - Input and
More informationCS 113 PRACTICE FINAL
CS 113 PRACTICE FINAL There are 13 questions on this test. The value of each question is: 1-10 multiple choice (4 pt) 11-13 coding problems (20 pt) You may get partial credit for questions 11-13. If you
More informationCIS 110: Introduction to computer programming
CIS 110: Introduction to computer programming Lecture 25 Inheritance and polymorphism ( 9) 12/3/2011 CIS 110 (11fa) - University of Pennsylvania 1 Outline Inheritance Polymorphism Interfaces 12/3/2011
More information3. Convert 2E from hexadecimal to decimal. 4. Convert from binary to hexadecimal
APCS A Midterm Review You will have a copy of the one page Java Quick Reference sheet. This is the same reference that will be available to you when you take the AP Computer Science exam. 1. n bits can
More informationCS 200 More Classes Jim Williams, PhD
CS 200 More Classes Jim Williams, PhD Week 13 1. Team Lab: Instantiable Class 2. BP2 Milestone 3 Due Thursday 3. P7 Due next Thursday 4. CS 300 Programming II in the future? 5. Lecture: More Classes, UML
More informationBinghamton University. CS-140 Fall Problem Solving. Creating a class from scratch
Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods
More informationException-Handling Overview
م.عبد الغني أبوجبل Exception Handling No matter how good a programmer you are, you cannot control everything. Things can go wrong. Very wrong. When you write a risky method, you need code to handle the
More informationOutline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring
Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,
More informationObject Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming
Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in
More informationInheritance and Polymorphism
Inheritance and Polymorphism Dr. M. G. Abbas Malik Assistant Professor Faculty of Computing and IT (North Jeddah Branch) King Abdulaziz University, Jeddah, KSA mgmalik@kau.edu.sa www.sanlp.org/malik/cpit305/ap.html
More informationDistributed Systems Recitation 1. Tamim Jabban
15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Sunday, Tuesday: 9:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming A programming
More informationObjectives. Inheritance. Inheritance is an ability to derive a new class from an existing class. Creating Subclasses from Superclasses
Objectives Inheritance Students should: Understand the concept and role of inheritance. Be able to design appropriate class inheritance hierarchies. Be able to make use of inheritance to create new Java
More informationThe software crisis. code reuse: The practice of writing program code once and using it in many contexts.
Inheritance The software crisis software engineering: The practice of conceptualizing, designing, developing, documenting, and testing largescale computer programs. Large-scale projects face many issues:
More informationCONSTRUCTOR & Description. String() This initializes a newly created String object so that it represents an empty character sequence.
Constructor in Java 1. What are CONSTRUCTORs? Constructor in java is a special type of method that is used to initialize the object. Java constructor is invoked at the time of object creation. It constructs
More informationA base class (superclass or parent class) defines some generic behavior. A derived class (subclass or child class) can extend the base class.
Inheritance A base class (superclass or parent class) defines some generic behavior. A derived class (subclass or child class) can extend the base class. A subclass inherits all of the functionality of
More informationBig software. code reuse: The practice of writing program code once and using it in many contexts.
Inheritance Big software software engineering: The practice of conceptualizing, designing, developing, documenting, and testing largescale computer programs. Large-scale projects face many issues: getting
More informationCMSC 132: Object-Oriented Programming II. Inheritance
CMSC 132: Object-Oriented Programming II Inheritance 1 Mustang vs Model T Ford Mustang Ford Model T 2 Interior: Mustang vs Model T 3 Frame: Mustang vs Model T Mustang Model T 4 Compaq: old and new Price:
More informationAnswer ALL Questions. Each Question carries ONE Mark.
SECTION A (10 MARKS) Answer ALL Questions. Each Question carries ONE Mark. 1 (a) Choose the correct answer: (5 Marks) i. Which of the following is not a valid primitive type : a. char b. double c. int
More informationLab 14 & 15: String Handling
Lab 14 & 15: String Handling Prof. Navrati Saxena TA: Rochak Sachan String Handling 9/11/2012 22 String Handling Java implements strings as objects of type String. Once a String object has been created,
More informationReview. these are the instance variables. these are parameters to the methods
Review Design a class to simulate a bank account Implement the class Write a demo program that creates bank accounts Write junit tests for the bank account class Review What data items are associated with
More informationAbstract Classes. Abstract Classes a and Interfaces. Class Shape Hierarchy. Problem AND Requirements. Abstract Classes.
a and Interfaces Class Shape Hierarchy Consider the following class hierarchy Shape Circle Square Problem AND Requirements Suppose that in order to exploit polymorphism, we specify that 2-D objects must
More informationCh 7 Designing Java Classes & Class structure. Methods: constructors, getters, setters, other e.g. getfirstname(), setfirstname(), equals()
Ch 7 Designing Java Classes & Class structure Classes comprise fields and methods Fields: Things that describe the class or describe instances (i.e. objects) e.g. last student number assigned, first name,
More informationPrelim 1. CS 2110, October 1, 2015, 5:30 PM Total Question Name True Short Testing Strings Recursion
Prelim 1 CS 2110, October 1, 2015, 5:30 PM 0 1 2 3 4 5 Total Question Name True Short Testing Strings Recursion False Answer Max 1 20 36 16 15 12 100 Score Grader The exam is closed book and closed notes.
More informationCS-140 Fall Binghamton University. Methods. Sect. 3.3, 8.2. There s a method in my madness.
Methods There s a method in my madness. Sect. 3.3, 8.2 1 Example Class: Car How Cars are Described Make Model Year Color Owner Location Mileage Actions that can be applied to cars Create a new car Transfer
More informationUNIVERSITI SAINS MALAYSIA. CIT502 Object-Oriented Programming and Software Engineering
UNIVERSITI SAINS MALAYSIA First Semester Examination Academic Session 2003/2004 September/October 2003 CIT502 Object-Oriented Programming and Software Engineering Duration : 3 hours INSTRUCTION TO CANDIDATE:
More informationJava Fundamentals (II)
Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Fundamentals (II) Marco Piccioni static imports Introduced in 5.0 Imported static members of a class
More informationAP CS Unit 6: Inheritance Exercises
AP CS Unit 6: Inheritance Exercises 1. Suppose your program contains two classes: a Student class and a Female class. Which of the following is true? a) Making the Student class a subclass of the Female
More informationObject-Oriented Concepts
JAC444 - Lecture 3 Object-Oriented Concepts Segment 2 Inheritance 1 Classes Segment 2 Inheritance In this segment you will be learning about: Inheritance Overriding Final Methods and Classes Implementing
More informationCS 201, Fall 2016 Sep 28th Exam 1
CS 201, Fall 2016 Sep 28th Exam 1 Name: Question 1. [5 points] Write code to prompt the user to enter her age, and then based on the age entered, print one of the following messages. If the age is greater
More informationCSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017
This week the main activity was a quiz activity, with a structure similar to our Friday lecture activities. The retrospective for the quiz is in Quiz-07- retrospective.pdf This retrospective explores the
More informationWeek 5-1: ADT Design
Week 5-1: ADT Design Part1. ADT Design Define as class. Every obejects are allocated in heap space. Encapsulation : Data representation + Operation Information Hiding : Object's representation part hides,
More informationDistributed Systems Recitation 1. Tamim Jabban
15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Tuesday: 9:30-11:59 AM Thursday: 10:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming
More informationInheritance Introduction. 9.1 Introduction 361
www.thestudycampus.com Inheritance 9.1 Introduction 9.2 Superclasses and Subclasses 9.3 protected Members 9.4 Relationship Between Superclasses and Subclasses 9.4.1 Creating and Using a CommissionEmployee
More informationCourse Content. Objectives of Lecture 24 Inheritance. Outline of Lecture 24. Inheritance Hierarchy. The Idea Behind Inheritance
Structural Programming and Data Structures Winter 2000 CMPUT 102: Dr. Osmar R. Zaïane Course Content Introduction Objects Methods Tracing Programs Object State Sharing resources Selection Repetition Vectors
More informationInformatik II (D-ITET) Tutorial 6
Informatik II (D-ITET) Tutorial 6 TA: Marian George, E-mail: marian.george@inf.ethz.ch Distributed Systems Group, ETH Zürich Exercise Sheet 5: Solutions and Remarks Variables & Methods beginwithlowercase,
More informationC# Programming for Developers Course Labs Contents
C# Programming for Developers Course Labs Contents C# Programming for Developers...1 Course Labs Contents...1 Introduction to C#...3 Aims...3 Your First C# Program...3 C# The Basics...5 The Aims...5 Declaring
More informationChapter 11 Inheritance and Polymorphism. Motivations. Suppose you will define classes to model circles,
Chapter 11 Inheritance and Polymorphism 1 Motivations Suppose you will define classes to model circles, rectangles, and triangles. These classes have many common features. What is the best way to design
More informationCourse Content. Objectives of Lecture 24 Inheritance. Outline of Lecture 24. CMPUT 102: Inheritance Dr. Osmar R. Zaïane. University of Alberta 4
Structural Programming and Data Structures Winter 2000 CMPUT 102: Inheritance Dr. Osmar R. Zaïane Course Content Introduction Objects Methods Tracing Programs Object State Sharing resources Selection Repetition
More informationSoftware and Programming 1
Software and Programming 1 Week 9 Lab - Use of Classes and Inheritance 8th March 2018 SP1-Lab9-2018.ppt Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Lab 9: Objectives Exercise 1 Student & StudentTest classes 1.
More informationclass declaration Designing Classes part 2 Getting to know classes so far Review Next: 3/18/13 Driver classes:
Designing Classes part 2 CSC 1051 Data Structures and Algorithms I Getting to know classes so far Predefined classes from the Java API. Defining classes of our own: Driver classes: Account Transactions
More informationCS-202 Introduction to Object Oriented Programming
CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction
More informationComputer Science 300 Sample Exam Today s Date 100 points (XX% of final grade) Instructor Name(s) (Family) Last Name: (Given) First Name:
Computer Science 300 Sample Exam Today s Date 100 points (XX% of final grade) Instructor Name(s) (Family) Last Name: (Given) First Name: CS Login Name: NetID (email): @wisc.edu Circle your Lecture: Lec001
More informationChapter 14 Abstract Classes and Interfaces
Chapter 14 Abstract Classes and Interfaces 1 What is abstract class? Abstract class is just like other class, but it marks with abstract keyword. In abstract class, methods that we want to be overridden
More informationCOMPUTER SCIENCE DEPARTMENT PICNIC. Operations. Push the power button and hold. Once the light begins blinking, enter the room code
COMPUTER SCIENCE DEPARTMENT PICNIC Welcome to the 2016-2017 Academic year! Meet your faculty, department staff, and fellow students in a social setting. Food and drink will be provided. When: Saturday,
More informationOverloaded Methods. Sending Messages. Overloaded Constructors. Sending Parameters
Overloaded Methods Sending Messages Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Initialization & Cleanup 2 Overloaded Constructors Sending Parameters accessor method 3 4 Sending Parameters
More informationChapter 5 Object-Oriented Programming
Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares
More informationTemplate. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong
Template Prof. Jinkyu Jeong (Jinkyu@skku.edu) TA -- Minwoo Ahn (minwoo.ahn@csl.skku.edu) TA -- Donghyun Kim (donghyun.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu
More informationMore Java Basics. class Vector { Object[] myarray;... //insert x in the array void insert(object x) {...} Then we can use Vector to hold any objects.
More Java Basics 1. INHERITANCE AND DYNAMIC TYPE-CASTING Java performs automatic type conversion from a sub-type to a super-type. That is, if a method requires a parameter of type A, we can call the method
More informationQuestions Answer Key Questions Answer Key Questions Answer Key
Benha University Term: 2 nd (2013/2014) Class: 2 nd Year Students Subject: Object Oriented Programming Faculty of Computers & Informatics Date: 26/4/2014 Time: 1 hours Exam: Mid-Term (A) Name:. Status:
More informationUse the scantron sheet to enter the answer to questions (pages 1-6)
Use the scantron sheet to enter the answer to questions 1-100 (pages 1-6) Part I. Mark A for True, B for false. (1 point each) 1. Abstraction allow us to specify an object regardless of how the object
More informationDEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
Internal Examination 1 Answer Key DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Branch & Sec : CSE Date : 08.08.2014 Semester : V Sem Max Marks : 50 Marks Sub Code& Title : CS2305 Programming Paradigms
More informationOperators and Expressions
Operators and Expressions Conversions. Widening and Narrowing Primitive Conversions Widening and Narrowing Reference Conversions Conversions up the type hierarchy are called widening reference conversions
More informationPrelim 1 SOLUTION. CS 2110, September 29, 2016, 7:30 PM Total Question Name Loop invariants. Recursion OO Short answer
Prelim 1 SOLUTION CS 2110, September 29, 2016, 7:30 PM 0 1 2 3 4 5 Total Question Name Loop invariants Recursion OO Short answer Exception handling Max 1 15 15 25 34 10 100 Score Grader 0. Name (1 point)
More informationAP CS Unit 8: Inheritance Exercises
AP CS Unit 8: Inheritance Exercises public class Animal{ System.out.print("A"); public void m2(){ System.out.print("B"); public class Dog extends Animal{ System.out.print("C"); public void m3(){ System.out.print("D");
More informationLecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8
Today... Java basics S. Bowers 1 of 8 Java main method (cont.) In Java, main looks like this: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); Q: How
More informationName: CS 159 Practice Final Fall 2015
Name: CS 159 Practice Final Fall 2015 CS 159, Fall 2015 Final Exam Section 02 Page 2 of 17 1. Choose the best answer for each of the following multiple choice questions. (a) (2 points) What will happen
More information