0% found this document useful (0 votes)
2 views

Lecture 03 Access Methods

The document provides an overview of Object-Oriented Programming (OOP) concepts, including class definitions, attributes, and methods, using the example of a Circle class. It explains how to construct objects from classes and access class members, highlighting the importance of public and private access modifiers. Additionally, it includes code snippets demonstrating the implementation of a Circle class with methods to calculate area and perimeter.

Uploaded by

ffz5ff4bcp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Lecture 03 Access Methods

The document provides an overview of Object-Oriented Programming (OOP) concepts, including class definitions, attributes, and methods, using the example of a Circle class. It explains how to construct objects from classes and access class members, highlighting the importance of public and private access modifiers. Additionally, it includes code snippets demonstrating the implementation of a Circle class with methods to calculate area and perimeter.

Uploaded by

ffz5ff4bcp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Object Oriented

Programming
Eng. (Ms.) H.C. Ganege
From last Session …
• Course introduction
• Software Evaluation
• OOP and POP
• Memory concepts/ Operators/
Control Structures
• IDE (Dec C++/ Visual Studio)
• Exercise 01
• Tutorial 01
• Object and Class

2
Class car

class Car {

int price;
Car float mileage;
Attributes
Price
void start(){}
Mileage
void stop(){}
Methods
Start };
Drive
Constructing Objects from Classes

A class An object
(the concept) (the realization)

Bank John’s Bank Account


Account Balance: $5,257

Bill’s Bank Account


Balance: $1,245,069
Multiple objects
from the same class
Mary’s Bank Account
Balance: $16,833
Specifying a Class
• A class is a way to bind the data and its associated functions together. It
allows the data (and function) to be hidden, if necessary, from external use.
• When defining a class, we are creating a new abstract data type that can be
treated like any other built in data type.
• Generally, a class specification has to types,
• Class declaration
• Class function definition
• The class declaration describes the type and scope of its members. The class
function definitions describe how the class functions are implemented.

5
Specifying a Class
class classname {
private:
variable declarations;
function declarations;

public:
variable declarations;
function declarations;

};

6
A simple class Example
• A typical class declaration would look like:
class Item {

int number;
float cost;

public:
int getdata(int a, float b);
void putdata(void);

};

7
• Write simple program for calculate area of circle and perimeter of circle.

8
int main()
{
Circle c1; //circle object 1
ClassName objectVariablename;
c1.r = 8.2;
c1.perimeter();
c1.area1();

Circle c2; //circle object 2

c2.r = 14.9;
c2.perimeter();
c2.area1();

Circle c3; //circle object 3

c3.r = 32.5;
c3.perimeter();
c3.area1();
}

9
#include <iostream>
using namespace std;

//Circle class
class Circle {
public:
int r; //radius
int area; //area
int peri; //perimeter

void area1() {
area = 3.14 * r * r;
cout << "Area:" << area << endl;
}

void perimeter() {
peri = 2 * 3.14 * r;
cout << "Perimeter:" << peri << endl;
}
};

10
Create a variable of type Circle, the class variables are called
int main()
as objects, therefore,
{
Circle c1; //circle object 1

c1.r = 8.2;
c1.perimeter();
c1.area1();

Circle c2; //circle object 2

c2.r = 14.9;
c2.perimeter();
c2.area1();

Circle c3; //circle object 3


ClassName objectVariablename;
c3.r = 32.5;
c3.perimeter();
c3.area1();
}

Circle c1, c2, c3;

11
#include <iostream> #include <iostream>
using namespace std; using namespace std;

//Circle class //Circle class


class Circle { class Circle {
public: public:
int r; //radius int r; //radius
int area; //area int area; //area
int peri; //perimeter int peri; //perimeter

void area1() { void area1() {


area = 3.14 * r * r; area = 3.14 * r * r;
cout << "Area:" << area << endl; cout << "Area:" << area << endl;
} }

void perimeter() { void perimeter() {


peri = 2 * 3.14 * r; peri = 2 * 3.14 * r;
cout << "Perimeter:" << peri << endl; cout << "Perimeter:" << peri << endl;
} }
}; } c1,c2,c3;

12
Accessing class Member
object_name.function-name(actual-argument);
#include <iostream>
using namespace std;
int main()
//Circle class {
class Circle { //Circle c1; //circle object 1
public: c1.perimeter(4);
int area; //area c1.area1(4);
int peri; //perimeter
//Circle c1; //circle object 1
void area1(int r) { c2.perimeter(3);
area = 3.14 * r * r; c2.area1(3);
cout << "Area:" << area << endl;
}

void perimeter(int r) { }
peri = 2 * 3.14 * r;
cout << "Perimeter:" << peri << endl;
}
}c1,c2;
13
Constructing Objects from Classes

A class An object
(the concept) (the realization)

Bank John’s Bank Account


Account Balance: $5,257

Bill’s Bank Account


Balance: $1,245,069
Multiple objects
from the same class
Mary’s Bank Account
Balance: $16,833
Defining member function
• Outside the class definition
• Inside the class definition

15
Inside the class definition
return-type function-name (argument declaration)
{
function body
#include <iostream>
}
using namespace std;

//Circle class int main()


class Circle { {
public: //Circle c1; //circle object 1
int area; //area c1.perimeter(4);
int peri; //perimeter c1.area1(4);

void area1(int r) { //Circle c1; //circle object 1


area = 3.14 * r * r; c2.perimeter(3);
cout << "Area:" << area << endl; c2.area1(3);
}

void perimeter(int r) {
peri = 2 * 3.14 * r; }
cout << "Perimeter:" << peri << endl;
}
}c1,c2;
16
Outside the class definition
#include <iostream> return-type class-name :: function-name (argument declaration)
using namespace std; {

//Circle class function body


class Circle { }
public:
int r; //radius
int area1(); //area int main()
int peri; //perimeter {
//Circle c1;
void perimeter(int r) {
peri = 2 * 3.14 * r; c1.r = 4;
cout << "Perimeter:" << peri << endl; c1.perimeter(4);
} c1.area1();
}c1,c2;
// Circle c2;
int Circle :: area1() { c2.r = 3;
int area; c2.perimeter(3);
area = 3.14 * r * r; c2.area1();
cout << "Area:" << area << endl; }
} 17
#include <iostream>
using namespace std;

//Circle class
class Circle {
public:
int r; //radius
int area; //area
int peri; //perimeter

void area1() {
area = 3.14 * r * r;
cout << "Area:" << area << endl;
}

void perimeter() {
peri = 2 * 3.14 * r;
cout << "Perimeter:" << peri << endl;
}
};

18
Public, private …
#include <iostream>
using namespace std;

//Circle class
class Circle {
public:
int r; //radius
private:
int area; //area
int peri; //perimeter

void area1() {
area = 3.14 * r * r;
cout << "Area:" << area << endl;
}

void perimeter() {
peri = 2 * 3.14 * r;
cout << "Perimeter:" << peri << endl;
}
};
Public, private …
#include <iostream>
using namespace std;

//Circle class
class Circle {
public:
int r; //radius
private:
int area; //area
int peri; //perimeter

void area1() {
area = 3.14 * r * r;
cout << "Area:" << area << endl;
}

void perimeter() {
peri = 2 * 3.14 * r;
cout << "Perimeter:" << peri << endl;
}
};
Access methods
• Each member (attribute or method) is defined with a scope (part of program
text that the member can be accessed by name)
• Public
• Private
• Protected class Circle {
• Default private:
Private int a;
float p;

public:
void area();
void perimeter();
};
public
• accessible from outside
private
• accessible only from within the class
protected

• accessible from within the class and from


within subclasses
Thank you

26

You might also like