Indexers.

Size: px
Start display at page:

Download "Indexers."

Transcription

1 Indexers Indexers are special type of class members that provide the mechanism by which an object can be indexed like an array. Main use of indexers is to support the creation of specialized array that are subject to one or more constraints. Indexers, however, can be used for any purpose for which an array-like syntax is beneficial. Indexers, like array can have one or more dimensions. 253

2 Creating One-dimensional Indexers element-type this [ int index ] //the get accessor get // return the value specified by the index //the set accessor set // set the vale specified by the index 254

3 Here, element-type is the element type of the indexer. Each element accessed by the indexer will be of type element-type. This type corresponds to the element type of an array. The parameter index receives the index of element being accessed. Inside the body of indexer, two accessors are defined, get and set. An accessor is similar to a method except that it does not declare a return type or parameters. Accessors are automatically called when the indexers are used, and both accessors receives index as a parameter. If the indexer is on the left side of an assignment operator, set accessor is called and the element specified by the index must be set. Otherwise, the get accessor is called, and the value associated with index must be returned. The set method also implicitly receives a parameter called value which contains the value being assigned to the specific index. 255

4 An indexer is declared d like a property except that t the name of the member is this followed by a parameter list written between the delimiters [ and ]. The parameters are available in the accessor(s) of the indexer. Defining a class to hold the list of runners in an athletics race. The runners are held in lane order, and an indexer is exposed which allows the list to be both read from and written to. The indexer deals gracefully with cases in which the lane number passed to it is either too high h or too low. 256

5 Class RaceDetails private string[] lanes; public RaceDetails() this.lanes = new string[8]; public string this [int i] get return (i>=0 && i<8)?this.lanes[i]: error ; set if( i>=0 && i<8 ) this.lanes[i] = value; Class UseRaceDetails static void Main() RaceDetails rd = new RaceDetails(); rd[0] = fred ; Console.WriteLine( Lane Lane One : +rd[0]); 257

6 Indexers aren t differentiated by name, and a class cannot declare two indexers with the same signature. But this does not means that a class is limited to just one indexer. Different indexers can have different types and numbers of indexing elements. This is equivalent to method parameters, except that each indexer must have at least one indexing element, and the ref & out modifiers cannot be used. 258

7 using System; class indexerclass private int[] myarray; public indexerclass() this.myarray = new int [100]; public int this [int index] //Indexer Decln. get // check the index limits if ( index <0 index >= 100) return 0; else return this.myarray [ index ]; set if (! (index < 0 index >= 100)) this.myarray [ index ] = value; public class MainClass public static void Main() indexerclass b = new indexerclass(); /*call the indexer to initialize the elements number 3 and 5. */ b[3] = 256; b[5] = 1024; for ( int i = 0;i<10;i++) ; i++ Console.WriteLine( Element # 0 = 1,i,b[i]); 259

8 Output: Element # 0 = 0 Element # 1 = 0 Element # 2 = 0 Element # 3 = 256 Element # 4 = 0 Element # 5 = 1024 Element # 6 = 0 Element # 7 = 0 Element # 8 = 0 Element # 9 = 0 Element # 10 = 0 260

9 Property Indexer Identified d by its name. Identified d by its signature. Accessed through a simple Access through an element name or a member access. access. Can be a static or instance member. A get accessor of a property has no parameters. A set accessor of a property contains the implicit value parameter. Must be an instance member. A get accessor of an indexer has the same formal parameter list as the indexer. A set accessor of an indexer has the same formal parameter list as the indexer, in addition to the value. 261

10 class Employee private string m_firstname; private string m_middlename; private string m_lastname; private string m_ssn; public Employee(string fn, string mn, string ln, string ssn) m_firstname = fn; m_middlename= mn; m_lastname = ln; m_ssn = ssn; public string FirstName get return m_firstname; set m_firstname = value; public string MiddleName get return m_middlename; set m_middlename = value; public string LastName get return m_lastname; set m_lastname = value; public string SSN get return m_ssn; set m_ssn = value; 1. Employee.cs 2. Employees.cs 3 I 3. IndexersSample.cs 262

11 class Employees private ArrayList m_employees; private int m_maxemployees; //constructor public Employees(int MaxEmployees) m_maxemployees = MaxEmployees; m_employees = new ArrayList(MaxEmployees); //Indexer - 1; by Array Index public Employee this[int index] get //check for out of bounds condition if (index < 0 index > m_employees.count - 1) return null; return (Employee)m_Employees[index]; set //check for out of bounds condition if (index < 0 index > m_maxemployees - 1) return; m_employees.insert(index, value); // CLASS EMPLOYEES: CODE CONTINUED IN NEXT PAGE 1. Employee.cs 2. Employees.cs (continued in next page) 3. IndexersSample.cs 263

12 // CLASS EMPLOYEES: CODE CONTINUED FROM PREVIOUS PAGE //Indexer - 2; by SSN public Employee this[string SSN] get Employee empreturned = null; foreach (Employee employee in m_employees) if (employee.ssn == SSN) empreturned = employee; break; return empreturned; //Property to return the total number of employees. public int Length get return m_employees.count; 1. Employee.cs 2. Employees.cs (complete) 3 I 3. IndexersSample.cs 264

13 class IndexersSample static void Main(string[] args) Employees employees = new Employees(4); //adding employees now employees[0]=new Employee("Andrew","Arthur","Tucker","000"); employees[1]=new Employee("Sally","Jones","Mathew","111"); employees[2]=new Employee("John","Arthur","Tucker","222"); //displaying the list for (int i = 0; i < employees.length; i++) string Name = employees[i].firstname + " " + employees[i].middlename + " " + employees[i].lastname; string SSn = employees[i].ssn; Console.WriteLine("Name:0,SSN:1", Name, SSn); //search using Indexer by SSN Employee emp = employees["222"]; if (emp!= null) string name = emp.firstname + "" + emp.middlename + "" + emp.lastname; string ssn = emp.ssn; Console.WriteLine("Found by SSN: Name:0, SSN:1", name, ssn); else Console.WriteLine("Not Found by SSN: " + emp.ssn); Console.ReadKey(); 1. Employee.cs 2. Employees.cs 3. IndexersSample.cs 265

CONSTRUCTOR & Description. String() This initializes a newly created String object so that it represents an empty character sequence.

CONSTRUCTOR & 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 information

CS/ENGRD 2110 FALL Lecture 5: Local vars; Inside-out rule; constructors

CS/ENGRD 2110 FALL Lecture 5: Local vars; Inside-out rule; constructors 1 CS/ENGRD 2110 FALL 2018 Lecture 5: Local vars; Inside-out rule; constructors http://courses.cs.cornell.edu/cs2110 Announcements 2 A1 is due tomorrow If you are working with a partner: form a group on

More information

Very similar to Java C++ C-Based syntax (if, while, ) object base class no pointers, object parameters are references All code in classes

Very similar to Java C++ C-Based syntax (if, while, ) object base class no pointers, object parameters are references All code in classes C# Very similar to Java C++ C-Based syntax (if, while, ) object base class no pointers, object parameters are references All code in classes Before we begin You already know and have programmed with Java

More information

Getter and Setter Methods

Getter and Setter Methods Example 1 namespace ConsoleApplication14 public class Student public int ID; public string Name; public int Passmark = 50; class Program static void Main(string[] args) Student c1 = new Student(); Console.WriteLine("please..enter

More information

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Object 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 information

Introduction to Programming Using Java (98-388)

Introduction 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 information

Using Indexers [ ] Alper KARAKÖSE

Using Indexers [ ] Alper KARAKÖSE Using Indexers [ ] Alper KARAKÖSE 2007 513 004 Contents What is indexers? Type of indexers : # one-dimensional indexers - get and set accessors # multidimensional indexers Overload indexers What is indexers?

More information

Notes on Chapter Three

Notes on Chapter Three Notes on Chapter Three Methods 1. A Method is a named block of code that can be executed by using the method name. When the code in the method has completed it will return to the place it was called in

More information

What property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic?

What property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic? What property of a C# array indicates its allocated size? a. Size b. Count c. Length What property of a C# array indicates its allocated size? a. Size b. Count c. Length What keyword in the base class

More information

A class can have references to objects of other classes as members Sometimes referred to as a has-a relationship. Software Engineering Observation 8.

A class can have references to objects of other classes as members Sometimes referred to as a has-a relationship. Software Engineering Observation 8. 8.8 Composition 1 Composition A class can have references to objects of other classes as members Sometimes referred to as a has-a relationship 2 Software Engineering Observation 8.9 One form of software

More information

Java Primer 1: Types, Classes and Operators

Java Primer 1: Types, Classes and Operators Java Primer 1 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Java Primer 1: Types,

More information

Lecture 4 Overview of Classes, Containers & Generics

Lecture 4 Overview of Classes, Containers & Generics Lecture 4 Overview of Classes, Containers & Generics What is a Programming Object? An object is an instance of a class. A class is a template for an object. Everything's an object!!! Statements such as

More information

CS141 Programming Assignment #4

CS141 Programming Assignment #4 CS141 Programming Assignment #4 Due Sunday, Mar 3rd. 1) Create a class called Invoice that a hardware store might use to represent an invoice for an item sold at the store. An Invoice should include four

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science Department Lecture 3: C# language basics Lecture Contents 2 C# basics Conditions Loops Methods Arrays Dr. Amal Khalifa, Spr 2015 3 Conditions and

More information

Spring 2016 Programming Languages Qualifying Exam

Spring 2016 Programming Languages Qualifying Exam This is a closed book test. Clear, correct and concise responses will receive the best mark. Correct, clear and precise answers receive full marks Please start a new page for each question. 1 P a g e 1.

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

Objects, Distribution, and the Internet. Update on Java. Introduction, fundamentals and basic concepts. Outline

Objects, Distribution, and the Internet. Update on Java. Introduction, fundamentals and basic concepts. Outline Objects, Distribution, and the Internet Update on Java CIMPA INRIA UNESCO School Mérida,Universidad de los Andes (Venezuela) January 7-18, 2002 Richard Grin Richard.Grin@unice.fr University de Nice - Sophia

More information

IST311 Chapter 8: C# Collections - Index-Sequential Search List & Dictionary PROGRAM

IST311 Chapter 8: C# Collections - Index-Sequential Search List & Dictionary PROGRAM IST311 Chapter 8: C# Collections - Index-Sequential Search List & Dictionary PROGRAM class Program static void Main(string[] args) //create a few employees Employee e1 = new Employee(1111111, "Tiryon",

More information

How to define your own classes that implement abstractions. How to pass information to methods and how methods return values.

How to define your own classes that implement abstractions. How to pass information to methods and how methods return values. CHAPTER Defining classes LEARNING OBJECTIVES By the end of this chapter you will understand the following: How to define your own classes that implement abstractions. How to declare, initialize and use

More information

Classes. Classes as Code Libraries. Classes as Data Structures. Classes/Objects/Interfaces (Savitch, Various Chapters)

Classes. Classes as Code Libraries. Classes as Data Structures. Classes/Objects/Interfaces (Savitch, Various Chapters) Classes Classes/Objects/Interfaces (Savitch, Various Chapters) TOPICS Classes Public versus Private Static Data Static Methods Interfaces Classes are the basis of object-oriented (OO) programming. They

More information

Lab Assignment 13 (week 13)

Lab Assignment 13 (week 13) Lab Assignment 13 (week 13) In this lab you are going to learn how to use the StringTokenizer class. Please look at the API for StringTokenizer at the below link. http://java.sun.com/j2se/1.4.2/docs/api/java/util/stringtokenizer.html

More information

Programming Language Concepts: Lecture 2

Programming Language Concepts: Lecture 2 Programming Language Concepts: Lecture 2 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 2, 19 January 2009 Classes and

More information

Advanced Computer Programming

Advanced Computer Programming Hazırlayan Yard. Doç. Dr. Mehmet Fidan ARRAYS A group of data with same type stored under one variable. It is assumed that elements in that group are ordered in series. In C# language arrays are has System.Array

More information

CSC 330 Object-Oriented Programming. Encapsulation

CSC 330 Object-Oriented Programming. Encapsulation CSC 330 Object-Oriented Programming Encapsulation Implementing Data Encapsulation using Properties Use C# properties to provide access to data safely data members should be declared private, with public

More information

Array Basics: Outline. Creating and Accessing Arrays. Creating and Accessing Arrays. Arrays (Savitch, Chapter 7)

Array Basics: Outline. Creating and Accessing Arrays. Creating and Accessing Arrays. Arrays (Savitch, Chapter 7) Array Basics: Outline Arrays (Savitch, Chapter 7) TOPICS Array Basics Arrays in Classes and Methods Programming with Arrays Searching and Sorting Arrays Multi-Dimensional Arrays Static Variables and Constants

More information

Classes. Classes as Code Libraries. Classes as Data Structures

Classes. Classes as Code Libraries. Classes as Data Structures Classes Classes/Objects/Interfaces (Savitch, Various Chapters) TOPICS Classes Public versus Private Static Data Static Methods Interfaces Classes are the basis of object-oriented (OO) programming. They

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE. Lecture 3: C# language basics II

CS313D: ADVANCED PROGRAMMING LANGUAGE. Lecture 3: C# language basics II CS313D: ADVANCED PROGRAMMING LANGUAGE Lecture 3: C# language basics II Lecture Contents 2 C# basics Methods Arrays Methods 3 A method: groups a sequence of statement takes input, performs actions, and

More information

Objects as a programming concept

Objects as a programming concept Objects as a programming concept IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4:

More information

A base class (superclass or parent class) defines some generic behavior. A derived class (subclass or child class) can extend the base class.

A 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 information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Cali, Colombia Summer 2012 Lesson 09 Inheritance What is Inheritance? In the real world: We have general terms for objects in the real

More information

2/3/2018 CS313D: ADVANCED PROGRAMMING LANGUAGE. Lecture 3: C# language basics II. Lecture Contents. C# basics. Methods Arrays. Dr. Amal Khalifa, Spr17

2/3/2018 CS313D: ADVANCED PROGRAMMING LANGUAGE. Lecture 3: C# language basics II. Lecture Contents. C# basics. Methods Arrays. Dr. Amal Khalifa, Spr17 CS313D: ADVANCED PROGRAMMING LANGUAGE Lecture 3: C# language basics II Lecture Contents 2 C# basics Methods Arrays 1 Methods : Method Declaration: Header 3 A method declaration begins with a method header

More information

Java Foundations Certified Junior Associate

Java Foundations Certified Junior Associate Java Foundations Certified Junior Associate 习题 1. When the program runs normally (when not in debug mode), which statement is true about breakpoints? Breakpoints will stop program execution at the last

More information

Conversions and Overloading : Overloading

Conversions and Overloading : Overloading Conversions and Overloading : First. Java allows certain implicit conversations of a value of one type to a value of another type. Implicit conversations involve only the primitive types. For example,

More information

Enumerated Types. CSE 114, Computer Science 1 Stony Brook University

Enumerated Types. CSE 114, Computer Science 1 Stony Brook University Enumerated Types CSE 114, Computer Science 1 Stony Brook University http://www.cs.stonybrook.edu/~cse114 1 Enumerated Types An enumerated type defines a list of enumerated values Each value is an identifier

More information

6: Arrays and Collections

6: Arrays and Collections 6: Arrays and Collections Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components.

More information

Herding Nulls. and other C# stories from the future. Mads Torgersen, C# lead designer Microsoft

Herding Nulls. and other C# stories from the future. Mads Torgersen, C# lead designer Microsoft Herding Nulls and other C# stories from the future Mads Torgersen, C# lead designer Microsoft Chapter One Herding nulls Every reference type allows null! Code must be defensive about it C# shares this

More information

Preview from Notesale.co.uk Page 3 of 36

Preview from Notesale.co.uk Page 3 of 36 all people who know the language. Similarly, programming languages also have a vocabulary, which is referred to as the set of keywords of that language, and a grammar, which is referred to as the syntax.

More information

CS1083 Week 2: Arrays, ArrayList

CS1083 Week 2: Arrays, ArrayList CS1083 Week 2: Arrays, ArrayList mostly review David Bremner 2018-01-08 Arrays (1D) Declaring and using 2D Arrays 2D Array Example ArrayList and Generics Multiple references to an array d o u b l e prices

More information

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable? Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable

More information

GROUP - A <10 questions x 4 points each = 40 points >

GROUP - A <10 questions x 4 points each = 40 points > GROUP - A For each question, write in the box the output of the shown fragment. If you believe the fragment will not produce output due to errors, write the

More information

Introduction to C# Applications

Introduction to C# Applications 1 2 3 Introduction to C# Applications OBJECTIVES To write simple C# applications To write statements that input and output data to the screen. To declare and use data of various types. To write decision-making

More information

ADF Mobile : Data Services Java Beans. Ma Ping

ADF Mobile : Data Services Java Beans. Ma Ping ADF Mobile : Data Services Java Beans Ma Ping ping.ma@oracle.com Overview Topics covered in this lesson include: Roadmap and Best Practices Data Services Overview Data Objects and CRUD Objects Data Relationships

More information

University of Cape Town ~ Department of Computer Science. Computer Science 1015F ~ 2007

University of Cape Town ~ Department of Computer Science. Computer Science 1015F ~ 2007 Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2007 Final Examination Question Max

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented

More information

Arrays. Outline 1/7/2011. Arrays. Arrays are objects that help us organize large amounts of information. Chapter 7 focuses on:

Arrays. Outline 1/7/2011. Arrays. Arrays are objects that help us organize large amounts of information. Chapter 7 focuses on: Arrays Arrays Arrays are objects that help us organize large amounts of information Chapter 7 focuses on: array declaration and use bounds checking and capacity arrays that store object references variable

More information

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS2614 MODULE TEST 1

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS2614 MODULE TEST 1 UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS2614 MODULE TEST 1 DATE: 18 March 2016 MARKS: 165 ASSESSOR: Prof. P.J. Blignaut (Bonus 8) MODERATOR: Dr T. Beelders TIME:

More information

6: Arrays and Collections

6: Arrays and Collections 6: Arrays and Collections Andrew Cumming, SoC Bill Buchanan, SoC W.Buchanan (1) Course Outline Day 1: Morning Introduction to Object-Orientation, Introduction to.net, Overview of.net Framework,.NET Components.

More information

Arrays. CSE 142, Summer 2002 Computer Programming 1.

Arrays. CSE 142, Summer 2002 Computer Programming 1. Arrays CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ 5-Aug-2002 cse142-16-arrays 2002 University of Washington 1 Reading Readings and References»

More information

COSC 123 Computer Creativity. Java Lists and Arrays. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 123 Computer Creativity. Java Lists and Arrays. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 123 Computer Creativity Java Lists and Arrays Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Objectives 1) Create and use arrays of base types and objects. 2) Create

More information

Building non-windows applications (programs that only output to the command line and contain no GUI components).

Building non-windows applications (programs that only output to the command line and contain no GUI components). C# and.net (1) Acknowledgements and copyrights: these slides are a result of combination of notes and slides with contributions from: Michael Kiffer, Arthur Bernstein, Philip Lewis, Hanspeter Mφssenbφck,

More information

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614 UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614 DATE: 7 May 2015 MARKS: 130 ASSESSOR: Prof. P.J. Blignaut (Bonus marks: 5) MODERATOR: Dr. L. de Wet TIME: 180 minutes

More information

WEEK 13 EXAMPLES: POLYMORPHISM

WEEK 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 information

4/29/03 Doc 25 C# Arrays, Indexers & Exceptions slide # 1

4/29/03 Doc 25 C# Arrays, Indexers & Exceptions slide # 1 4/29/03 Doc 25 C# Arrays, Indexers & Exceptions slide # 1 CS 683 Emerging Technologies Spring Semester, 2003 Doc 25 C# Arrays, Indexers & Exceptions Contents Arrays... 2 Aystem.Array... 6 Properties...

More information

Non-instantiable Classes

Non-instantiable Classes Instantiable Classes It is not acceptable to write a program using just the main method. Why? Programs become too large and unmanageable It is not acceptable to write programs using just predefined classes.

More information

Computer Science II (20082) Week 1: Review and Inheritance

Computer Science II (20082) Week 1: Review and Inheritance Computer Science II 4003-232-08 (20082) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Syntax and Semantics of Formal (e.g. Programming) Languages Syntax

More information

class objects instances Fields Constructors Methods static

class objects instances Fields Constructors Methods static Class Structure Classes A class describes a set of objects The objects are called instances of the class A class describes: Fields (instance variables)that hold the data for each object Constructors that

More information

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS RIS 114 CLASS TEST 2 and 3 DATE: 4 August 2014 TIME: 180 minutes MARKS: 70

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS RIS 114 CLASS TEST 2 and 3 DATE: 4 August 2014 TIME: 180 minutes MARKS: 70 UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS RIS 114 CLASS TEST 2 and 3 DATE: 4 August 2014 TIME: 180 minutes MARKS: 70 ASSESSOR: Prof. P.J. Blignaut (+1 bonus mark) This

More information

Classes, interfaces, & documentation. Review of basic building blocks

Classes, interfaces, & documentation. Review of basic building blocks Classes, interfaces, & documentation Review of basic building blocks Objects Data structures literally, storage containers for data constitute object knowledge or state Operations an object can perform

More information

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide AP Computer Science Chapter 10 Implementing and Using Classes Study Guide 1. A class that uses a given class X is called a client of X. 2. Private features of a class can be directly accessed only within

More information

Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A

Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has been

More information

Object Oriented Programming in C#

Object Oriented Programming in C# Introduction to Object Oriented Programming in C# Class and Object 1 You will be able to: Objectives 1. Write a simple class definition in C#. 2. Control access to the methods and data in a class. 3. Create

More information

Classes and Methods: Classes

Classes and Methods: Classes Class declaration Syntax: [] Classes and Methods: Classes [] class [] [] [] When

More information

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java

More information

Classes and Objects: A Deeper Look

Classes and Objects: A Deeper Look 1 8 Classes and Objects: A Deeper Look 1 // Fig. 8.1: Time1.java 2 // Time1 class declaration maintains the time in 24-hour format. 4 public class Time1 6 private int hour; // 0 2 7 private int minute;

More information

More on Objects and Classes

More on Objects and Classes Software and Programming I More on Objects and Classes Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Object References Class Variables and Methods Testing a Class Discovering Classes

More information

Computer Science II (20073) Week 1: Review and Inheritance

Computer Science II (20073) Week 1: Review and Inheritance Computer Science II 4003-232-01 (20073) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Hardware and Software Hardware Physical devices in a computer system

More information

Duhok Polytechnic University Amedi Technical Institute/ IT Dept. Halkawt Rajab Hussain

Duhok Polytechnic University Amedi Technical Institute/ IT Dept. Halkawt Rajab Hussain Duhok Polytechnic University Amedi Technical Institute/ IT Dept. By Halkawt Rajab Hussain 2016-04-02 Objects and classes: Basics of object and class in C#. Private and public members and protected. Static

More information

Arrays. Structure programming. Section-(6) Array Initialization. <Type> [] identifier;

Arrays. Structure programming. Section-(6) Array Initialization. <Type> [] identifier; El-Shorouk Academy Acad. Year : 2013 / 2014 Higher Institute for Computer & Term : Second Information Technology Year : First Department of Computer Science [] identifier; Structure programming

More information

Computer Programming: C++

Computer Programming: C++ The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2003 Muath i.alnabris Computer Programming: C++ Experiment #7 Arrays Part II Passing Array to a Function

More information

CS-140 Fall Binghamton University. Methods. Sect. 3.3, 8.2. There s a method in my madness.

CS-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 information

Outline. 1 Function calls and parameter passing. 2 Pointers, arrays, and references. 5 Declarations, scope, and lifetimes 6 I/O

Outline. 1 Function calls and parameter passing. 2 Pointers, arrays, and references. 5 Declarations, scope, and lifetimes 6 I/O Outline EDAF30 Programming in C++ 2. Introduction. More on function calls and types. Sven Gestegård Robertz Computer Science, LTH 2018 1 Function calls and parameter passing 2 Pointers, arrays, and references

More information

This exam is open book. Each question is worth 3 points.

This exam is open book. Each question is worth 3 points. This exam is open book. Each question is worth 3 points. Page 1 / 15 Page 2 / 15 Page 3 / 12 Page 4 / 18 Page 5 / 15 Page 6 / 9 Page 7 / 12 Page 8 / 6 Total / 100 (maximum is 102) 1. Are you in CS101 or

More information

The Singleton Pattern. Design Patterns In Java Bob Tarr

The Singleton Pattern. Design Patterns In Java Bob Tarr The Singleton Pattern Intent Ensure a class only has one instance, and provide a global point of access to it Motivation Sometimes we want just a single instance of a class to exist in the system For example,

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented

More information

Software and Programming 1

Software and Programming 1 Software and Programming 1 Lab 7: Construction of a Simulated Cash Register and a Student Class 28 February 2019 SP1-Lab7-2018-19.ppt Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Coursework Plagiarism Plagiarism

More information

Computer Programming

Computer Programming Computer Programming Dr. Deepak B Phatak Dr. Supratik Chakraborty Department of Computer Science and Engineering Session: Quiz and Practice Questions on Classes Part 1 Dr. Deepak B. Phatak & Dr. Supratik

More information

Chapter 4. Defining Classes I

Chapter 4. Defining Classes I Chapter 4 Defining Classes I Introduction Classes are the most important language feature that make object-oriented programming (OOP) possible Programming in Java consists of defining a number of classes

More information

Inheritance and Polymorphism

Inheritance 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 information

Fall CS 101: Test 2 Name UVA ID. Grading. Page 1 / 4. Page3 / 20. Page 4 / 13. Page 5 / 10. Page 6 / 26. Page 7 / 17.

Fall CS 101: Test 2 Name UVA  ID. Grading. Page 1 / 4. Page3 / 20. Page 4 / 13. Page 5 / 10. Page 6 / 26. Page 7 / 17. Grading Page 1 / 4 Page3 / 20 Page 4 / 13 Page 5 / 10 Page 6 / 26 Page 7 / 17 Page 8 / 10 Total / 100 1. (4 points) What is your course section? CS 101 CS 101E Pledged Page 1 of 8 Pledged The following

More information

CSE 11 Midterm Fall 2012

CSE 11 Midterm Fall 2012 Signature cs11f Name Student ID CSE 11 Midterm Fall 2012 Page 1 (20 points) Page 2 (17 points) Page 3 (31 points) Page 4 (15 points) Page 5 (8 points) Page 6 (20 points) Total (111 points = 105 base points

More information

Banaras Hindu University

Banaras Hindu University Banaras Hindu University A Course on Software Reuse by Design Patterns and Frameworks by Dr. Manjari Gupta Department of Computer Science Banaras Hindu University Lecture 5 Basic Design Patterns Basic

More information

Arrays Classes & Methods, Inheritance

Arrays Classes & Methods, Inheritance Course Name: Advanced Java Lecture 4 Topics to be covered Arrays Classes & Methods, Inheritance INTRODUCTION TO ARRAYS The following variable declarations each allocate enough storage to hold one value

More information

Getting started with Java

Getting started with Java Getting started with Java by Vlad Costel Ungureanu for Learn Stuff Programming Languages A programming language is a formal constructed language designed to communicate instructions to a machine, particularly

More information

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass

More information

ENCAPSULATION AND POLYMORPHISM

ENCAPSULATION AND POLYMORPHISM MODULE 3 ENCAPSULATION AND POLYMORPHISM Objectives > After completing this lesson, you should be able to do the following: Use encapsulation in Java class design Model business problems using Java classes

More information

CS 302 Week 9. Jim Williams

CS 302 Week 9. Jim Williams CS 302 Week 9 Jim Williams This Week P2 Milestone 3 Lab: Instantiating Classes Lecture: Wrapper Classes More Objects (Instances) and Classes Next Week: Spring Break Will this work? Double d = new Double(10);

More information

CS 231 Data Structures and Algorithms Fall Arrays Lecture 07 - September 19, Prof. Zadia Codabux

CS 231 Data Structures and Algorithms Fall Arrays Lecture 07 - September 19, Prof. Zadia Codabux CS 231 Data Structures and Algorithms Fall 2018 Arrays Lecture 07 - September 19, 2018 Prof. Zadia Codabux 1 Agenda Arrays For Each Loop 2D Arrays 2 Administrative None 3 Arrays 4 Array Data structure

More information

UMBC CMSC 331 Final Exam

UMBC CMSC 331 Final Exam UMBC CMSC 331 Final Exam Name: UMBC Username: You have two hours to complete this closed book exam. We reserve the right to assign partial credit, and to deduct points for answers that are needlessly wordy

More information

Learn C# Errata. 3-9 The Nullable Types The Assignment Operators

Learn C# Errata. 3-9 The Nullable Types The Assignment Operators 1 The following pages show errors from the original edition, published in July 2008, corrected in red. Future editions of this book will be printed with these corrections. We apologize for any inconvenience

More information

Data Structures. Subodh Kumar. Dept of Computer Sc. & Engg. IIT Delhi

Data Structures. Subodh Kumar. Dept of Computer Sc. & Engg. IIT Delhi Data Structures Subodh Kumar Dept of Computer Sc. & Engg. IIT Delhi OOP Quiz 2 Class Bird extends class Animal. class Cat { public Bird catchbird(bird birdtocatch) {... Later in a method Animal pigeon

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! CS 1054: Programming in Java Page 1 of 6 Form A READ THIS NOW! Failure to read and follow the instructions below may result in severe penalties Failure to adhere to these directions will not constitute

More information

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Introduction to Object-Oriented Programming Arrays, Part 2 of 2 Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 1331 Arrays, Part 2 of 2 1 / 16 A few more array topics Variable

More information

Programming II (CS300)

Programming 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 information

Advanced Programming C# Lecture 7. dr inż. Małgorzata Janik

Advanced Programming C# Lecture 7. dr inż. Małgorzata Janik Advanced Programming C# Lecture 7 dr inż. Małgorzata Janik majanik@if.pw.edu.pl Winter Semester 2017/2018 C#: classes & objects 3 / 39 Class members Constructors Destructors Fields Methods Properties Indexers

More information

QUIZ 2 Introduction to Computer Science (COMP 250) Mon. March 2, 2009 Professor Michael Langer

QUIZ 2 Introduction to Computer Science (COMP 250) Mon. March 2, 2009 Professor Michael Langer QUIZ 2 Introduction to Computer Science (COMP 250) Mon. March 2, 2009 Professor Michael Langer STUDENT NAME: ID: The exam consists of five questions. There are a total of 10 points. You may use the back

More information

Java Fundamentals (II)

Java 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 information

Arrays. COMS W1007 Introduction to Computer Science. Christopher Conway 10 June 2003

Arrays. COMS W1007 Introduction to Computer Science. Christopher Conway 10 June 2003 Arrays COMS W1007 Introduction to Computer Science Christopher Conway 10 June 2003 Arrays An array is a list of values. In Java, the components of an array can be of any type, basic or object. An array

More information

In this lab, you will be given the implementation of the classes GeometricObject, Circle, and Rectangle, as shown in the following UML class diagram.

In this lab, you will be given the implementation of the classes GeometricObject, Circle, and Rectangle, as shown in the following UML class diagram. Jordan University Faculty of Engineering and Technology Department of Computer Engineering Object-Oriented Problem Solving: CPE 342 Lab-8 Eng. Asma Abdel Karim In this lab, you will be given the implementation

More information

Advanced Programming C# Lecture 7. dr inż. Małgorzata Janik

Advanced Programming C# Lecture 7. dr inż. Małgorzata Janik Advanced Programming C# Lecture 7 dr inż. Małgorzata Janik malgorzata.janik@pw.edu.pl Winter Semester 2018/2019 C#: classes & objects 3 / 34 Class members Constructors Destructors Fields Methods Properties

More information

Software and Programming 1

Software and Programming 1 Software and Programming 1 Lab 7: Construction of a Simulated Cash Register and a Student Class 22 February 2018 SP1-Lab7-2018.ppt Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Coursework Plagiarism Plagiarism is

More information