43
1 Prototyping for HCI Spring 2004 (Week 8) Jorge A. Toro

1 Prototyping for HCI Spring 2004 (Week 8) Jorge A. Toro

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

1

Prototyping for HCI

Spring 2004 (Week 8)Jorge A. Toro

2

The Language

Custom Classes

HCI430 – J.Toro 3

Custom classes

VB.NET is Object-Oriented So far, you have handled pre-defined classes

(Form, Button, Integer, String, etc…)

-but- You can also create your own classes that

can ease the coding and fit the needs of your prototype

HCI430 – J.Toro 4

Custom classes

How do you know when you need a custom class? You need to do some design decisions on what

kind of classes you will need. There is no golden rule in this, many different

classes can be created and used, it all depends how you want to architect your code.

HCI430 – J.Toro 5

Custom classes

When you are writing the code inside a form, you are actually writing the code for the Form’s class…

HCI430 – J.Toro 6

Your form Your form is defined as a

class

HCI430 – J.Toro 7

Custom classes

Creating a custom class Custom classes are created in separate files Same as different forms are in separate files To add a custom class file

1. File -> Add New Item…

2. Select Class, give a name to it

3. Done.

HCI430 – J.Toro 8

1

HCI430 – J.Toro 9

21 Select Class

2 Name the Class

HCI430 – J.Toro 10

3The class file appears in your Solution Explorer window

This code is automatically generated. Here is where you write the code to define the properties and methods of your class.

HCI430 – J.Toro 11

Custom classes

Defining properties for the class One way: Declare global variables as Public.

Public Class Member Public p_id As String Public p_lname As String Public p_fname As String Public p_address As String Public p_city As String Public p_state As String Public p_zip As StringEnd Class

Properties

HCI430 – J.Toro 12

Member class

HCI430 – J.Toro 13

Custom classes

Using your custom class You create instances (objects) of the class

Use the New keyword, the same way you use it to create forms.

HCI430 – J.Toro 14

Form1 class

You now can declare Member objects

HCI430 – J.Toro 15

Custom classes

Everything declared with either Dim or Private will not be accessible from outside the class.

HCI430 – J.Toro 16

p_ssn is not declared Public. It will be accessible only inside this class.

Member Class

HCI430 – J.Toro 17

p_ssn is not accessible outside the class, it was not declared Public.

x is an instance of Member class

Form1 Class

HCI430 – J.Toro 18

Custom classes

Defining methods All the subs and Functions declared Public are

considered methods and are accessible outside the class.

HCI430 – J.Toro 19

ResetNames is a Sub declared Public. It will be accessible outside.

Member Class

HCI430 – J.Toro 20

ResetNames is accessible.

Form1 Class

HCI430 – J.Toro 21

Custom classes

Sometimes, you want your object to start with some preset values in some of its properties. Constructor

Used to provide values to the properties when an instance is created

You can have different constructors for different situations

A constructor is always declared as Public and it is always named New

HCI430 – J.Toro 22

Constructor1 (default)

Constructor2(custom)

HCI430 – J.Toro 23

constructor1 is used here

constructor2 is used here

24

The Language

Modules

HCI430 – J.Toro 25

Modules

Modules are files where you can write code that does not belong to any particular form. Global functions Global Subs Global variables

Global variables declared in a Module are global to all the project.

HCI430 – J.Toro 26

HCI430 – J.Toro 27

1 Select Module

2 Name the Module

HCI430 – J.Toro 28

The module file appears in your Solution Explorer window

This code is automatically generated. Here is where you write the code.

HCI430 – J.Toro 29

Modules

Sub Main You can set the Startup Object of your project to

a special sub named Main You create the Sub Main inside a Module file.

HCI430 – J.Toro 30

mainForm is a global variable

mainForm is created

mainForm is shown

HCI430 – J.Toro 31

Modules

In the previous example, if you set your startup object of your project to be the Sub Main, you have to create the instance of Form1 and show it.

This is useful when you have a prototype with many form files.

32

The Language

Class Libraries

HCI430 – J.Toro 33

Class libraries

A separate project for creating classes for use in other applications

This is what you will get from me A project with some classes inside

HCI430 – J.Toro 34

Class libraries

Using the library in your prototype (1/2) Add the library into your prototype’s project

HCI430 – J.Toro 35

HCI430 – J.Toro 36

Select the project name

HCI430 – J.Toro 37

The project appears into the Solution explorer

HCI430 – J.Toro 38

Class libraries

Using the library in your prototype (2/2) Reference the class library in your project so

you can start using the classes Why do you have to do this?

Because the classes I wrote are inside a separate project, they are not part of yours.

HCI430 – J.Toro 39

1 Select your project

2 Select “Add Reference”

HCI430 – J.Toro 40

1 Click over the Projects tab

2 Select the Utils Project

3 Click Select

HCI430 – J.Toro 41

The library will appear here

Click Ok

HCI430 – J.Toro 42

The Utils library will appear listed under the References folder in your project

HCI430 – J.Toro 43

Questions?