C# Programming: From Problem Analysis to Program Design1 Creating Your Own Classes C# Programming: From Problem Analysis to Program Design 3rd Edition.

Slides:



Advertisements
Similar presentations
Chapter 4&5 Defining Classes Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
Advertisements

Object-Oriented Application Development Using VB.NET 1 Chapter 8 Understanding Inheritance and Interfaces.
Section 5 – Classes. Object-Oriented Language Features Abstraction –Abstract or identify the objects involved in the problem Encapsulation –Packaging.
Road Map Introduction to object oriented programming. Classes
Programming Based on Events
1 Chapter 7 l Inheritance Basics l Programming with Inheritance l Dynamic Binding and Polymorphism Inheritance.
Advanced Object-Oriented Programming Features
Terms and Rules Professor Evan Korth New York University (All rights reserved)
Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 9 Objects and Classes.
Chapter 8: User-Defined Classes and ADTs J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
ASP.NET Programming with C# and SQL Server First Edition
Object-Oriented Application Development Using VB.NET 1 Chapter 8 Understanding Inheritance and Interfaces.
More C++ Bryce Boe 2013/07/18 CS24, Summer 2013 C.
Writing Classes (Chapter 4)
Chapter 5 - Writing a Problem Domain Class Definition1 Chapter 5 Writing a Problem Domain Class Definition.
COP INTERMEDIATE JAVA Designing Classes. Class Template or blueprint for creating objects. Their definition includes the list of properties (fields)
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
Chapter 8. About the Midterm Exam.. Exam on March 12 Monday (Tentatively) Review on March 7 Wednesday Cover from Chapter 6 Grades will be out before spring.
Tuc Goodwin  Object and Component-Oriented Programming  Classes in C#  Scope and Accessibility  Methods and Properties  Nested.
Chapter 8: User-Defined Classes and ADTs
Chapter 4 -2 part Writing Classes 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design © 2007 Pearson Addison-Wesley. All.
Chapter Eleven Classes and Objects Programming with Microsoft Visual Basic th Edition.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Chapter 11: Introduction to Classes. In this chapter you will learn about: – Classes – Basic class functions – Adding class functions – A case study involving.
An Object-Oriented Approach to Programming Logic and Design Chapter 3 Using Methods and Parameters.
10-Nov-15 Java Object Oriented Programming What is it?
 Classes in c++ Presentation Topic  A collection of objects with same properties and functions is known as class. A class is used to define the characteristics.
More About Objects and Methods Chapter 5. Outline Programming with Methods Static Methods and Static Variables Designing Methods Overloading Constructors.
Overview The Basics – Python classes and objects Procedural vs OO Programming Entity modelling Operations / methods Program flow OOP Concepts and user-defined.
Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.
C# Programming: From Problem Analysis to Program Design1 4 Methods and Behaviors.
COP INTERMEDIATE JAVA Designing Classes. Class Template or blueprint for creating objects. Their definition includes the list of properties (fields)
Chapter 4&5 Defining Classes Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
Chapter 3 Introduction to Classes and Objects Definitions Examples.
© 2007 Lawrenceville Press Slide 1 Chapter 8 Objects  A variable of a data type that is a class. Also called an instance of a class.  Stores data  Can.
Chapter 10: Classes and Data Abstraction. Objectives In this chapter, you will: Learn about classes Learn about private, protected, and public members.
CSci 162 Lecture 10 Martin van Bommel. Procedures vs Objects Procedural Programming –Centered on the procedures or actions that take place in a program.
Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X 1 Chapter 9 Objects and Classes.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 6 Objects and Classes.
Java Classes Chapter 1. 2 Chapter Contents Objects and Classes Using Methods in a Java Class References and Aliases Arguments and Parameters Defining.
C# Programming: From Problem Analysis to Program Design
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++ Early.
Chapter 5 Classes and Methods II Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
1 Chapter 6 Programming with Objects and Classes F OO Programming Concepts F Creating Objects and Object Reference Variables –Differences between primitive.
Chapter 10: Classes and Data Abstraction. Classes Object-oriented design (OOD): a problem solving methodology Objects: components of a solution Class:
5.1 Basics of defining and using classes A review of class and object definitions A class is a template or blueprint for an object A class defines.
Class Everything in Java is in a class. The class has a constructor that creates the object. If you do not supply a constructor Java will create a default.
An Introduction to Programming with C++ Fifth Edition Chapter 14 Classes and Objects.
Microsoft Visual C#.NET: From Problem Analysis to Program Design1 Chapter 4 Methods and Behaviors Microsoft Visual C#.NET: From Problem Analysis to Program.
C# Programming: From Problem Analysis to Program Design1 Creating Your Own Classes C# Programming: From Problem Analysis to Program Design 4th Edition.
Classes CS 162 (Summer 2009). Parts of a Class Instance Fields Methods.
OOP Details Constructors, copies, access. Initialize Fields are not initialized by default:
Java Programming: Guided Learning with Early Objects Chapter 9 Inheritance and Polymorphism.
Computer Programming II Lecture 5. Introduction to Object Oriented Programming (OOP) - There are two common programming methods : procedural programming.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Object-Oriented Programming (part 1 – Data Encapsulation)
Creating Your Own Classes
Reference: COS240 Syllabus
Chapter 3: Using Methods, Classes, and Objects
Creating Your OwnClasses
Creating Your Own Classes
User-Defined Classes and ADTs
Can perform actions and provide communication
Can perform actions and provide communication
Chapter 8: User-Defined Classes and ADTs
Implementing Classes Chapter 3.
Can perform actions and provide communication
Defining Classes and Methods
CIS 199 Final Review.
Chapter 6 Objects and Classes
Presentation transcript:

C# Programming: From Problem Analysis to Program Design1 Creating Your Own Classes C# Programming: From Problem Analysis to Program Design 3rd Edition 4

C# Programming: From Problem Analysis to Program Design2 Chapter Objectives Become familiar with the components of a class Learn about the different methods and properties used for object-oriented development Write your own instance methods to include constructors, mutators, and accessors Call instance methods including constructors, mutators, and accessors

C# Programming: From Problem Analysis to Program Design3 Chapter Objectives ( continued ) Work through a programming example that illustrates the chapter’s concepts

C# Programming: From Problem Analysis to Program Design4 The Object Concept Solution is defined in terms of a collection of cooperating objects Class serves as template from which many objects can be created Abstraction –Attributes (data) –Behaviors (processes on the data)

Private Member Data All code you write is placed in a class When you define a class, you declare instance variables or fields that represent state of an object –Fields are declared inside the class, but not inside any specific method –Fields become visible to all members of the class, including all of the methods Data members are defined to have private access C# Programming: From Problem Analysis to Program Design5

Private Member Data ( continued ) public class Student { private int studentNumber; private string studentName; private int score1; private int score2; private int score3; private string major; C# Programming: From Problem Analysis to Program Design6

Add a Class Use the Project menu or the Solution Explorer Window Right-mouse click and select the option Add class Solution Explorer Window enables you to create a class diagram C# Programming: From Problem Analysis to Program Design7

Class Diagram C# Programming: From Problem Analysis to Program Design8 Figure 4-1 Student class diagram created in Visual Studio

Class Diagram ( continued ) C# Programming: From Problem Analysis to Program Design9 Figure 4-2 Student class diagram details After the class diagram is created, add the names of data members or fields and methods using the Class Details section

Class Diagram ( continued ) When you complete, the class details code is automatically placed in the file with each entry you add to the class diagram C# Programming: From Problem Analysis to Program Design10 Figure 4-3 Auto generated code from Student class diagram

C# Programming: From Problem Analysis to Program Design11 Writing Your Own Instance Methods Do not use static keyword –Static – class method Constructor –Do not return a value –void is not included –Same identifier as the class name –Overloaded methods –Default constructor No arguments Write one constructor and you lose the default one

Constructor public access modifier is always associated with constructors //Default constructor public Student ( ) { } //Constructor with one parameter public Student (int sID ) { studentNumber = sID; } C# Programming: From Problem Analysis to Program Design12

C# Programming: From Problem Analysis to Program Design13 Constructor ( continued ) Default values are assigned to variables of the value types when no arguments are sent to constructor

C# Programming: From Problem Analysis to Program Design14 Accessor Getters Returns the current value Standard naming convention → prefix with “get” –Accessor for noOfSquareYards is GetNoOfSquareYards( ) Properties serve purpose

Mutators Setters Normally includes one parameter Method body → single assignment statement Standard naming convention → prefix with ”Set” C# Programming: From Problem Analysis to Program Design15

C# Programming: From Problem Analysis to Program Design16 Accessor and Mutator Examples public double GetNoOfSquareYards( ) { return noOfSquareYards; } public void SetNoOfSquareYards(double squareYards) { noOfSquareYards = squareYards; } Accessor Mutator

Other Instance Methods No need to pass arguments to these methods Instance methods can directly access private data members Define methods as opposed to storing values that are calculated from other private data members C# Programming: From Problem Analysis to Program Design17

C# Programming: From Problem Analysis to Program Design18 Property Properties looks like a data field –More closely aligned to methods Standard naming convention in C# for properties –Use the same name as the instance variable or field, but start with uppercase character

C# Programming: From Problem Analysis to Program Design19 ToString( ) Method All user-defined classes inherit four methods from the object class –ToString( ) –Equals( ) –GetType( ) –GetHashCode( ) ToString( ) method is called automatically by several methods –Write( ) –WriteLine( ) methods Can also invoke or call the ToString( ) method directly

C# Programming: From Problem Analysis to Program Design20 ToString( ) Method ( continued ) Returns a human-readable string Can write a new definition for the ToString( ) method to include useful details public override string ToString( ) { // return string value } Keyword override added to provide new implementation details

C# Programming: From Problem Analysis to Program Design21 Calling Instance Methods – Constructor Calling the constructor ClassName objectName = new ClassName(argumentList); or ClassName objectName; objectName = new ClassName(argumentList); Keyword new used as operator to call constructor methods CarpetCalculator plush = new CarpetCalculator ( ); CarpetCalculator pile = new CarpetCalculator (37.90, 17.95); CarpetCalculator berber = new CarpetCalculator (17.95);

C# Programming: From Problem Analysis to Program Design22 Calling Accessor and Mutator Methods Method name is preceded by the object name berber.SetNoOfSquareYards(27.83); Console.WriteLine(“{0:N2}”, berber.GetNoOfSquareYards( )); Using properties PropertyName = value; and Console.Write(“Total Cost at {0:C} ”, berber.Price);

C# Programming: From Problem Analysis to Program Design23 Calling Other Instance Methods Call must match method signature If method returns a value, must be place for a value to be returned

Testing Your New Class Different class is needed for testing and using your class Test class has Main( ) in it Construct objects of your class Use the properties to assign and retrieve values Invoke instance methods using the objects you construct C# Programming: From Problem Analysis to Program Design24

C# Programming: From Problem Analysis to Program Design25 RealEstateInvestment Example Figure 4-8 Problem specification for RealEstateInvestment example

C# Programming: From Problem Analysis to Program Design26 Data for the RealEstateInvestment Example

C# Programming: From Problem Analysis to Program Design27 Data for the RealEstateInvestment Example ( continued )

C# Programming: From Problem Analysis to Program Design28 RealEstateInvestment Example ( continued ) Figure 4-9 Prototype

C# Programming: From Problem Analysis to Program Design29 RealEstateInvestment Example ( continued ) Figure 4-10 Class diagrams

C# Programming: From Problem Analysis to Program Design30 RealEstateInvestment Example ( continued )

C# Programming: From Problem Analysis to Program Design31 Figure 4-11 Structured English for the RealEstateInvestment example RealEstateInvestment Example ( continued )

Class Diagram C# Programming: From Problem Analysis to Program Design32 Figure 4-12 RealEstateInvestment class diagram

Test and Debug C# Programming: From Problem Analysis to Program Design33 Figure 4-13 Output from RealEstate Investment example

Coding Standards Naming Conventions –Classes –Properties –Methods Constructor Guidelines Spacing Guidelines C# Programming: From Problem Analysis to Program Design34

C# Programming: From Problem Analysis to Program Design35 Chapter Summary Components of a method Class methods –Parameters Predefined methods Value- and nonvalue-returning methods

C# Programming: From Problem Analysis to Program Design36 Chapter Summary ( continued ) Properties Instance methods –Constructors –Mutators –Accessors Types of parameters