itextsharp pdf to image c# example : Chrome pdf save form data control SDK platform web page wpf .net web browser 01360530336-part18

Tutorial 19
Microwave
Oven
A
pplica
t
io
n
419
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
variable 
minuteValue
safely, and 
Second
allows clients to access variable 
second-
Value
safely.
property definition may consist of two accessors—method-like code units
that handle the details of modifying and returning data. The 
Set
accessor allows cli-
ents to set (that is, assign values to) properties. For example, when the code
timeObject.Minute = 35
executes, the 
Set
accessor of the 
Minute
property executes. 
Set
accessors typically
provide data-validation capabilities (such as range checking) to ensure that the
value of each instance variable is set properly. In your Microwave Oven applica-
tion, users can specify an amount of minutes only in the range 0 to 59. Values not in
this range are discarded by the 
Set
accessor, and 
minuteValue
is assigned the
value 0. The 
Get
accessor allows clients to get (that is, obtain the value of) a prop-
erty. When the code
minuteValue = timeObject.Minute
executes, the 
Get
accessor of the 
Minute
property executes and returns the value of
the 
minuteValue
instance variable.
Each property is typically defined to perform validity checking—to ensure that
the data assigned to the property is valid. Keeping an object’s data valid is also
known as keeping that data in a consistent state. Property 
Minute
keeps instance
variable 
minuteValue
in a consistent state. In the following box, you’ll create prop-
erties 
Minute
and 
Second
for class 
Time
, defining 
Get
and 
Set
accessors for each.
D
e
finin
g
Pr
ope
rti
e
s
1.
Adding  property 
Minute
to  class 
Time
 View 
Time.vb
by selecting  the
Time.vb tab above the code editor. Add lines 17–18 of Fig.19.19, then press
Enter to add property 
Minute
to class 
Time
. Lines 19–25 are added for you
automatically by the IDE. Note the syntax used in a property definition. You
begin  in  line  18  with  the  keyword 
Public
(which  is  discussed  in
Section 19.7), followed by the keyword 
Property
, which indicates that you
are defining a property. The keyword 
Property
is followed by the name of
the property (in this case, 
Minute
) and a set of parentheses, which is similar
to the way you define methods. The first line of the property concludes with
the keyword 
As
followed by a data type (in this case, 
Integer
), indicating
the data type of any value assigned to, or read from, this property.
Figure 19.19
Em
p
ty 
Minute
p
r
ope
rty.
The keyword 
Get
in line 19 indicates the beginning of this property’s 
Get
accessor. The keywords 
End
Get
in line 21 indicate the end of the 
Get
acces-
sor. Any code that you insert between these two lines makes up the 
Get
accessor’s body and is executed when a client of this class attempts to read a
value  from  the 
Minute
property,  as  with  the  code 
minutes
=
timeObject.Minute
.
Good Programming
Practice
N
a
m
e
eac
p
r
ope
rty w
i
th 
a
capi
t
al
f
i
rst 
le
tt
e
r.
Get
acce
ss
o
r r
e
tr
ie
v
e
da
t
a
Set
acce
ss
o
r st
o
r
e
da
t
a
Chrome pdf save form data - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
chrome save pdf with fields; add text fields to pdf
Chrome pdf save form data - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
change font size in fillable pdf form; add editable fields to pdf
420
Bu
ildi
n
g
Y
o
ur Own C
la
ss
e
a
n
d
O
bjec
ts
Tutorial 19
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
The keyword 
Set
in line 22 indicates the beginning of this property’s 
Set
accessor. The keywords 
End
Set
in line 24 indicate the end of the 
Set
acces-
sor. Any code that you insert between these two lines makes up the 
Set
accessor’s body and is executed automatically (that’s the beauty of proper-
ties) when a client of this class attempts to assign a value to the 
Minute
prop-
erty, as with the code 
timeObject.Minute
=
35
. The value assigned is stored
in the parameter specified in line 22, which by default uses the identifier
value
. This identifier is used to access the value assigned to property 
Min-
ute
. The property ends in line 25 with the keywords 
End
Property
.
2.
Defining the 
Get
accessor. Add line 21 of Fig.19.20 to your 
Get
accessor.
Also add a comment (line 19) above the 
Get
accessor, to increase readabil-
ity. When property 
Minute
is referenced, you want your 
Get
accessor to
return the value of 
minuteValue
just as a method (function) would return a
value, so you use the keyword 
Return
in line 21, followed by the identifier
minuteValue
. Finally, add a comment in line 22 to indicate the end of the
Get
accessor.
Figure 19.20 Get
acce
ss
o
de
f
i
n
i
t
io
n.
3.
Defining the Set accessor. Add lines 26–31 of Fig.19.21 to your 
Set
acces-
sor. Also add a comment (line 24) above the 
Set
accessor, to increase read-
ability. When property 
Minute
is assigned a value, you want to test whether
the value to be assigned is valid. You do not want to accept a minutes value
greater than 59, a condition that is tested in line 27. If the number of minutes
is valid, it is assigned to 
minuteValue
in line 28. Otherwise, the value 
0
is
assigned to 
minuteValue
in line 30. Finally, add a comment at line 32 to indi-
cate the end of the 
Set
accessor.
Figure 19.21 Set
acce
ss
o
de
f
i
n
i
t
io
n.
4.
Adding property 
Second
to class 
Time
. Add lines 35–36 of Fig.19.22 to your
application, then press Enter. Lines 37–43 are added for you automatically by
the IDE.
(cont.)
R
e
turn
i
n
g
da
t
a
fr
o
a
p
r
ope
rty
V
alida
t
e
m
i
nut
e
da
t
a
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Cross browser supported, like chrome, firefox, ie, edge, safari. for C# developers to convert and transform a multi-page PDF document and save each PDF
change tab order in pdf form; change text size pdf form
C# PDF Markup Drawing Library: add, delete, edit PDF markups in C#
to annotate PDF in browser such as chrome, firefox and annot); // save to a new file doc.Save(outputFilePath NET Demo Code: Underline the Selected PDF Text in C#
pdf form save; can save pdf form data
Tutorial 19
Microwave
Oven
A
pplica
t
io
n
421
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
Figure 19.22 Second
p
r
ope
rty.
5.
Defining  the 
Second
property’s  accessors. Add  comments  above  each
accessor (lines 37 and 42 of Fig. 19.23). Add line 39 to property 
Second
’s
Get
accessor and lines 44–49 to property 
Second
’s 
Set
accessor. Note that
this property is similar to 
Minute
, except that variable 
secondValue
is
being modified and read, as opposed to variable 
minuteValue
. Finally, you
should add comments  at the end of each accessor (lines 40 and 50) to
increase readability.
Figure 19.23 Second
p
r
ope
rty 
de
f
i
n
i
t
io
n.
6.
Assigning values to properties. Change lines 13–14 of Fig. 19.16 to lines
13–14 of Fig. 19.24. Now that you have defined properties to ensure that
only valid data is assigned to 
minuteValue
and 
secondValue
, you can use
these properties to safely initialize instance variables in the class’s construc-
tor. So when a 
client
calls 
New
and passes 
mm
and 
ss
values, the construc-
tor calls the 
Set
accessors to validate the values.
7.
Saving the project. Select File > Save All to save your modified code.
(cont.)
Em
p
ty 
p
r
ope
rty
Second
p
r
ope
rty 
pe
rf
o
rms
s
i
m
ila
da
t
a
m
a
n
ip
u
la
t
io
ns t
o
Minute
p
r
ope
rty
C# PDF Text Highlight Library: add, delete, update PDF text
PDF file online in browser such as chrome, firefox, safari Support to change PDF highlight color in Visual C# Able to save highlighted content to original PDF
create pdf form; pdf form save with reader
VB.NET Word: How to Convert Word to HTML in a VB.NET Imaging
by converting it with Microsoft Office Word "Save As" function can show your document online as PDF file while your web browser such as Firefox, Chrome, IE, and
cannot save pdf form in reader; best way to create pdf forms
422
Bu
ildi
n
g
Y
o
ur Own C
la
ss
e
a
n
d
O
bjec
ts
Tutorial 19
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
SE
L
F
-
REVIEW
1.
A(n) 
can ensure that a value is appropriate for a data member before the data 
member is assigned that value.
2.
Properties can contain both 
accessors.
Answers: 1)
d.  
2)
c.
19.6 C
o
m
p
l
e
tin
g
th
e
Microwave
Oven
A
pp
li
ca
ti
o
n
Now that you’ve completed your 
Time
class, you’ll use an object of this class to
maintain the cooking time in your application. Follow the steps in the next box to
add this functionality to your application.
C
o
m
p
l
e
tin
g
th
e
Microwave
Oven
A
pp
li
ca
ti
o
n
Figure 19.24
C
o
nstru
c
t
o
r us
i
n
g
p
r
ope
rt
ie
s t
o
i
n
i
t
iali
z
e
v
a
r
iable
s.
(cont.)
S
a
f
e
r t
o
a
ss
ig
da
t
a
t
o
p
r
ope
rt
ie
s r
a
th
e
r th
a
n
i
nst
a
n
ce
v
a
r
iable
s,
beca
us
e
Set
acce
ss
o
rs
pe
rf
o
rm v
alidi
ty 
c
h
ec
k
i
n
g
a)
Get
accessor
b)
Access
accessor
c)
Modify
accessor
d)
Set
accessor
a)
Return
and 
Value
b)
Get
and 
Value
c)
Get
and 
Set
d)
Return
and 
Set
1.
Formatting  user  input.  View 
MicrowaveOven.vb
by selecting the Micro-
waveOven.vb tab above the code editor. Add lines 103–107 of Fig.19.25 to
event handler 
startButton_Click
 Variables 
second
and 
minute
(lines
103–104) store the second and minute values entered by the user. Line 107
uses 
String
method 
PadLeft
, which appends characters to the beginning of
String
based on the its length. This method can be used to guarantee the
length of a 
String
—if the 
String
has fewer characters than desired, method
PadLeft
adds characters to the beginning of the 
String
until it has the
proper number of characters. You want 
timeIs
to contain four characters
(for example, 
"0325"
rather than 
"325"
for a time of 
"3:25"
, representing 3
minutes and 25 seconds). Having four digits makes the conversion to minutes
and seconds easier. You can now simply convert the first two digits (
03
) to a
minute value and the last two digits (
25
) to a second value. 
The first argument in the 
PadLeft
call, 
4
, specifies the desired length of
timeIs
. If 
timeIs
already contains four or more characters, 
PadLeft
has no
effect. The second argument (the character 
0
) specifies the character that is
appended to the beginning of the 
String
. Note that specifying only 
"0"
as
the second argument causes an error, because 
"0"
is of type 
String
. Method
PadLeft
expects the second argument to be a single character of data type
Char
. You obtain the character 
0
by calling method 
Convert.ToChar
, which
converts your 
String
zero to a character zero. You can also use the literal
value 
"0"c
.
Tutorial 19
Microwave
Oven
A
pplica
t
io
n
423
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
Figure 19.25
D
ecla
r
i
n
g
v
a
r
iable
s f
o
r s
eco
n
d
a
n
d
m
i
nut
e
v
al
u
e
s.
2.
Converting  user input to 
Integer
s. Add lines  109–111 of Fig. 19.26  to
event  handler 
startButton_Click
 Line  110  calls  method 
Con-
vert.ToInt32
to convert the last two characters of 
timeIs
to an 
Integer
and assign this value to 
second
. The last two characters are selected from
timeIs
by using method 
Substring
, which returns only a portion of a
String
from 
timeIs
. The argument passed to 
Substring
2
, indicates that
the subset of characters returned from this method should begin with the
character at position 2, and continue until the end of the 
String
. Remem-
ber that the character at position 2 is actually the third character in the
String
, because the position values of a 
String
begin at 0. In the example
"0325"
, calling 
Substring
with the argument 
2
returns 
"25"
. Line 111
selects the first two characters of 
timeIs
, converts the value to an 
Integer
,
and assigns this value to 
minute
. The call to 
Substring
in line 111 takes
two arguments. The first argument, 
0
, indicates that the characters returned
from this method start with the first character (at position 0) of 
timeIs
.
The second argument, 
2
, indicates that only two characters from the start-
ing position are to be returned. In the example 
"0325"
, calling 
Substring
with the arguments 
0
and 
2
returns 
"03"
.
Figure 19.26
F
o
rm m
i
nut
e
a
n
d
s
eco
n
d
v
al
u
e
s fr
o
i
n
p
ut.
3.
Creating  a 
Time
object.  Add  lines  113–114  of  Fig. 19.27  to
startButton_Click
. Line 114 creates an object of type 
Time
. When the
object is instantiated, operator 
New
allocates the memory in which the 
Time
object will be stored; then the 
Time
constructor (which must be named
New
) is called with the values of 
minute
and 
second
to initialize the 
Time
object’s instance variables. The 
New
operator then returns a reference to
the newly created object; this reference is assigned to 
timeObject
.
Ensur
e
timeIs
h
a
s f
o
ur
c
h
a
r
ac
t
e
rs f
o
r
co
nv
e
rs
io
p
ur
po
s
e
s
(cont.)
C
o
nv
e
rt 
i
n
p
ut t
o
s
eco
n
d
a
n
d
m
i
nut
e
s
424
Bu
ildi
n
g
Y
o
ur Own C
la
ss
e
a
n
d
O
bjec
ts
Tutorial 19
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
Figure 19.27
Cr
ea
t
i
n
g
a
Time
objec
t.
4.
Accessing a 
Time
object’s properties. Add lines 116–117 of Fig. 19.28 to
startButton_Click
. These lines use the newly created 
Time
object and
method 
String.Format
to display the cooking time properly. You want
the resulting 
String
to contain two digits (for the minute), a colon (
:
) and
finally another two digits (for the second). For example, if the time entered
was 3 minutes and 20 seconds, the 
String
that will display for the user is
"03:20"
. To achieve this result, you pass to the method the format control
string 
"{0:D2}:{1:D2}"
, which indicates that arguments 
0
and 
1
(the first
and second arguments after the format 
String
argument) take the format
D2
(base  10  decimal  number  format  using  two  digits)  for  display pur-
poses—thus, 
8
would be converted to 
08
. The colon between the curly
braces 
}
and 
{
is included in the output, separating the minutes from the
seconds. The arguments after  the  format-control string access 
timeOb-
ject
’s minute and second values, using the 
Minute
and 
Second
properties.
Note that 
Time
’s properties appear in the IntelliSense window (Fig. 19.29)
when you try to access the object’s members (using the dot operator).
Figure 19.28
D
i
s
pla
y
i
n
g
t
i
m
e
i
nf
o
rm
a
t
io
n w
i
th s
epa
r
a
t
i
n
g
colo
n.
Figure 19.29
Pr
ope
rt
ie
o
a
p
r
og
r
a
mm
e
r-
de
f
i
n
ed
ty
pe
al
s
o
appea
i
I
nt
elli
S
e
ns
e
.
(cont.)
Us
e
k
e
yw
o
r
d
New
t
o
c
r
ea
t
e
a
n
e
objec
t
(cont.)
D
i
s
pla
coo
k
i
n
g
t
i
m
e
Time
’s 
p
r
ope
rt
ie
s
appea
i
I
nt
elli
S
e
ns
e
Tutorial 19
Microwave
Oven
A
pplica
t
io
n
425
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
5.
Starting the cooking process. Add lines 119–123 of Fig. 19.30 to your appli-
cation. Line 119 clears the user’s input, so that the user can enter new input
at any time. Line 121 starts the 
Timer
by setting its 
Enabled
property to
True
. The 
Timer
’s 
Tick
event is now raised each second. You’ll implement
the event handler for this event shortly. Line 123 sets the 
Panel
’s 
BackColor
property to yellow to simulate the light inside the microwave oven. The
color yellow is assigned to property 
BackColor
using property 
Yellow
of
structure 
Color
. The 
Color
structure contains several predefined colors as
properties.
Figure 19.30
St
a
rt
i
n
g
th
e
m
ic
r
o
w
a
v
e
o
v
e
co
unt
do
wn.
6.
Clearing the cook time. Add lines 131–136 of Fig. 19.31 to event handler
clearButton_Click
. Line 132 sets the application’s 
Label
to Microwave
Oven. Line 133 clears the input values stored in 
timeIs
, and line 134 resets
the 
Time
object to zero minutes and zero seconds. Line 135 disables the
Timer
, which stops the countdown. Line 136 sets the 
Panel’
s background
back to the 
Panel
’s original color to simulate turning off the light inside the
microwave oven. Note that we set the 
Panel
’s color using the Default-
BackColor property. This property contains the default background color
for a control. When a 
Panel
is added to a 
Form
, its background takes on the
default background color of the control.
Figure 19.31
C
lea
r
i
n
g
th
e
Microwave
Oven
i
n
p
ut.
7.
Displaying  data as it is being  input. Add lines 142–150 of Fig. 19.33 to
method 
DisplayTime
 This  method  is  called  each  time  the  user  enters
another digit for the cooking time. Lines 142–143 declare variables 
second
and 
minute
, which store the current number of seconds and minutes. Line
145 declares 
display
, which stores the user’s current input in the proper dis-
play format. Lines 148–150 remove any extra digits entered by the user.
(Recall that the user may enter a maximum of four digits.) Line 148 uses
String
property 
Length
 which  returns  the  number  of  characters  in  a
String
, to determine whether 
timeIs
has more than four digits.
(cont.)
St
a
rt t
i
m
e
a
n
d
turn 
lig
ht 
o
n
t
o
i
n
dica
t
e
m
ic
r
o
w
a
v
e
o
v
e
i
coo
k
i
n
g
R
e
s
e
tt
i
n
g
Microwave
Oven
applica
t
io
n
426
Bu
ildi
n
g
Y
o
ur Own C
la
ss
e
a
n
d
O
bjec
ts
Tutorial 19
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
If it does, line 149 uses 
String
method 
Substring
to remove the extra
digits. The arguments (
0
followed by 
4
) indicate that the substring returned
should begin with the first character in 
timeIs
and continue for four charac-
ters. The result is assigned back to 
timeIs
, ensuring that any characters
appended past the first four are removed.
Figure 19.32
M
odi
fy
i
n
g
i
nv
alid
us
e
i
n
p
ut.
Figure 19.33
M
odi
fy
i
n
g
i
nv
alid
us
e
i
n
p
ut.
8.
Completing the 
DisplayTime
method. Add lines 152–160 of Fig. 19.34 to
method 
DisplayTime
. These lines are similar to  those of event  handler
startButton_Click
. Line 152 appends zeros to the front of 
timeIs
if fewer
than four digits were entered. Lines 155–156 use method 
Substring
to iso-
late the number of seconds and minutes currently entered. Lines 159–160
then use method 
Format
to display the input correctly.
Figure 19.34
D
i
s
pla
c
urr
e
nt 
i
n
p
ut.
(cont.)
(cont.)
Tutorial 19
Microwave
Oven
A
pplica
t
io
n
427
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
SE
L
F
-
REVIEW
1.
The 
property returns the number of characters in a 
String
.
2.
The expression 
example.Substring(0,
7)
returns the character(s) 
.
Answers: 1)
a.  
2)
b.
9.
Performing the countdown. Add lines 167–182 of Fig. 19.35 to event handler
clockTimer_Tick
. Remember that this event handler executes every sec-
ond for as long as the 
Timer
is enabled. Lines 168–182 modify the display
Label
once per second so that the time remaining is shown to the user. 
If the value of seconds is greater than zero (line 168), the number of sec-
onds is decremented by one (line 169). If the value of seconds is zero but the
value of minutes is greater than zero (line 172), the number of minutes is
decremented by one (line 173) and the number of seconds is reset to 59 for
the new minute (line 174). If the number of seconds is zero and the number
of minutes is zero, the cooking process is stopped—the 
Timer
is disabled
(line 178), a beep is sounded (line 179), the display 
Label
is set to Done!
(line 180) and the window 
Panel
’s background color is set back to its default
background color (line 181).
Figure 19.35
M
odi
fy
i
n
g
th
e
di
s
pla
d
ur
i
n
g
co
unt
do
wn.
10.
Running  the application. Select Debug > Start  Debugging to run your
application. Enter a cook time and click the Start 
Button
. The application
should now countdown correctly, as you have defined the 
Tick
event han-
dler for 
clockTimer
. Click the Clear 
Button
and verify that the input is
cleared and the countdown is stopped.
11.
Closing the application. Close your running application by clicking its close
box.
(cont.)
M
odi
fy t
i
m
e
app
r
op
r
ia
t
el
y
d
ur
i
n
g
co
unt
do
wn
a)
Length
b)
Size
c)
Char
d)
Width
a) that begin at position seven and run backward to position zero
b) that begin at position zero and continue for seven characters
c) at position zero and position seven
d) at position zero, repeated seven times
428
Bu
ildi
n
g
Y
o
ur Own C
la
ss
e
a
n
d
O
bjec
ts
Tutorial 19
simplyvb2008_19.fm
February 2, 2008 4:32 pm
© 2008 by Deitel & Associates, Inc. All Rights Reserved.
19.7 C
o
ntr
o
llin
g
A
cce
ss t
o
M
e
m
be
rs
Keywords 
Public
and 
Private
are called member-access modifiers. You defined
properties
with member-access modifier 
Public
earlier in this tutorial. Class mem-
bers that are declared with access modifier 
Public
are available to any 
Time
object.
Declaring instance variables, properties or methods with member-access modifier
Private
makes  them  available  only  to  methods  and  properties  of  the  class.
Attempting to access a class’s 
Private
data from outside the class definition is a
compilation  error.  Normally, instance  variables  are declared 
Private
 whereas
methods and properties are declared 
Public
. In the following box, you declare this
application’s instance variables as 
Private
.
C
o
ntr
o
llin
g
A
cce
ss t
o
M
e
m
be
rs
Common
Programming Error
Att
e
m
p
t
i
n
g
t
o
acce
ss 
a
Private
cla
ss m
e
m
be
r fr
o
o
uts
ide
i
ts 
cla
ss 
i
s
a
co
m
pila
t
io
e
rr
o
r.
Software Design Tip
D
ecla
r
e
all
i
nst
a
n
ce
v
a
r
iable
o
a
cla
ss 
a
Private
. Wh
e
n n
ece
ss
a
ry,
p
r
o
v
ide
Public
p
r
ope
rt
ie
 t
o
s
e
t
a
n
d
ge
 th
e
v
al
u
e
o
Private
i
nst
a
n
ce
v
a
r
iable
s.
1.
Declaring 
Time
’s instance variables as 
Private
. View 
Time.vb
by selecting
the Time.vb tab above the code editor. Replace keyword 
Dim
in lines 7–8 with
keyword 
Private
(as in Fig.19.36), indicating that these instance variables are
accessible only to members of class 
Time
. A class’s 
Private
instance variables
may be accessed only by methods and properties of the class.
Figure 19.36 Time
’s 
i
nst
a
n
ce
v
a
r
iable
a
r
e
Private
.
2.
Declaring 
MicrowaveOvenForm
’s  instance  variables  as 
Private
 View
MicrowaveOven.vb
by selecting the MicrowaveOven.vb tab above the code
editor. Replace keyword 
Dim
in lines 4 and 7 with keyword 
Private
(as in
Fig.19.37), indicating that these instance variables are accessible only to
members of class 
MicrowaveOvenForm
. When an object of the class contains
such instance variables, only methods, properties and events of the object’s
class can access the variables.
Figure 19.37 Microwave
Oven
’s 
i
nst
a
n
ce
v
a
r
iable
a
r
e
Private
.
3.
Setting method 
DisplayTime
as 
Private
. Add keyword 
Private
to the
beginning of method 
DisplayTime
(line 140 of Fig. 19.38). As with vari-
ables, methods are declared 
Private
to make them accessible only to other
members of the current class. In this example only the class that defines your
Microwave  Oven  uses  method 
DisplayTime
 so  you  should  make  this
method 
Private
.
Good Programming
Practice
Gr
o
u
p
all
Private
cla
ss m
e
m
be
rs 
i
n
a
cla
ss 
de
f
i
n
i
t
io
n,  f
ollo
w
ed
b
all
Public
cla
ss m
e
m
be
rs t
o
e
nh
a
n
ce
cla
r
i
ty 
a
n
d
r
eadabili
ty.
Software Design Tip
I
i
po
ss
ible
t
o
decla
r
e
th
e
Get
a
n
d
Set
acce
ss
o
rs w
i
th 
di
ff
e
r
e
nt 
acce
ss
m
odi
f
ie
rs. On
e
o
f th
e
acce
ss
o
rs must
h
a
v
e
th
e
s
a
m
e
acce
ss 
a
s th
e
p
r
op
-
e
rty, 
a
n
d
th
e
o
th
e
r must 
be
m
o
r
e
r
e
str
ic
t
i
v
e
th
a
 th
e
p
r
ope
rty.  F
o
r
e
x
a
m
ple
i
a
Public
p
r
ope
rty, th
e
Get
acce
ss
o
co
u
ld
be
Public
a
n
d
th
e
Set
acce
ss
o
co
u
ld
be
Private
t
o
c
r
ea
t
e
a
p
r
ope
rty th
a
i
"
r
ead
-
o
n
l
y
"
t
o
th
e
cla
ss’s 
clie
nts. 
Documents you may be interested
Documents you may be interested