on 16 May 2013

### per isakson (view profile)

Hello, I am trying to learn classes in Matlab here is a basic question. How can I write two classes A and B in order to represent following structur?

My first class is A and second class is B. Let A has two property as p and q and B has also two property as m and n. Moreover, one of class is subclasses of other.

```A.p=1;
A.q=2;
```
```B.m=3;
B.n=4;
```
```A.B=B; %Minor question :) which one is a subclass A or B?
```
```%Hence
```
```A.B.m    %should be 3
A.B.n    %should be 4
```

per isakson

### per isakson (view profile)

on 16 May 2013

Search for "Defining a Subclass" in the help. As far I can judge, you describe an association.

Volkan Kandemir

### Volkan Kandemir (view profile)

on 16 May 2013

I have read lots of articles and I have writen some classes but I can not combine classes. When I try to make one of them subclases I get the following resault.

```A.p=1
A.q=2
A.m=3
A.n=4
```
per isakson

### per isakson (view profile)

on 16 May 2013

You have defined A as a subclass of B and the result you see is as documented, i.e. what you should expect.

## Products

### per isakson (view profile)

on 16 May 2013
Edited by per isakson

### per isakson (view profile)

on 16 May 2013

It is a convention to use upper case for the first letter in a class name and lower case for instancies/objects

Try

```    >> a = A();
>> a.b.m
ans =
3```

where

```    classdef A
properties
p = 1;
q = 2;
b = B;
end
end```

and

```    classdef B
properties
m = 3;
n = 4;
end
end```

.

One more example

```    >> A.B.m
ans =
3    ```

where

```    classdef A
properties ( Constant )
p = 1;
q = 2;
B = B();
end
end```

and

```    classdef B
properties ( Constant )
m = 3;
n = 4;
end
end```

However, I don't think this is what you really ask for.

Volkan Kandemir

### Volkan Kandemir (view profile)

on 17 May 2013

Thank you very much for your answer. That is what I excatly want. Also thank you for correcting me about upper and lower cases. Where can I find these rules. For example, all cracters in global variables should be writen as UPPER CASE like.

```global WORKERS
```
per isakson

### per isakson (view profile)

on 17 May 2013

There is very little on naming conventions in the Matlab documentation.

google for "object oriented programming naming conventions"

See the blog Book Review: The Elements of MATLAB Style

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi