Can anyone talk about matrices in terms of objects and type? I'm half coming at this question from computer science, so that an object is any "thing" that we can hold in our mind--and some things can take values. Furthermore, objects are instances of one or more classes.
As an example, I could have an object called apple. It's an instance of the Apple class. This Apple class allows me to record in each apple a real number modeling the number of seconds since some event--say, the moment Newton first got bumped on the head.
Similarly, let us have banana objects, from the Banana class ( which similarly records the number of seconds in reals since the Tallyman tallied me bananas. )
I could conceivably come up with some system for describing various combinations of apples and bananas, say
$a + b = 4$
That is--one apple and one banana combined make four.
Four what? I don't know. Maybe a scalar. Maybe a fruit cake. I'm not really sure if $4$ needs a type.
Regardless, I can make a few more such systems:
$
4a + 7b = 1 \\
2b = 0
$
And collecting these systems together for convenience:
$
\begin{bmatrix}
1 & 1 & 4 \\
4 & 7 & 1 \\
0 & 2 & 0
\end{bmatrix}
$
Now, that collection of systems may or may not be consistent. I'm sure we can all check, but that's beside the point.
My question is--what do we have here in terms of classes and objects?
We could ostensibly label our columns: apples, bananas, whatsits. And yet--the numbers in these columns represent scalar weights on our apples and bananas, not the values recorded by any instances of those classes.
Then, let's call the non-augmented version of that matrix $\mathbb{A}$
$
\begin{bmatrix}
1 & 1 \\
4 & 7 \\
0 & 2
\end{bmatrix}
=
\mathbb{A}
$
And to get our system back, make it more explicit:
$
\begin{bmatrix}
1 & 1 \\
4 & 7 \\
0 & 2
\end{bmatrix}
\vec{x}
=
\begin{bmatrix}
4 \\
1 \\
0
\end{bmatrix}
$
And now we're getting somewhere. We have an $\vec{x}$ vector whose rows could be labeled
$\begin{bmatrix}
\text{apples} \\
\text{bananas}
\end{bmatrix}$
Now, apples and bananas have properties and those properties--at least the one we've described here--take real numbers for their values. And those values are the numbers that would populate $\vec{x}$.
And the values in $\mathbb{A}$? They are scalar weights; they don't have a type. Or maybe they do. I mean--they count the number of apples or bananas needed by a particular system, lined up in columns by the type of fruit they count.
Is there something to this line of thinking? Any constructive person with more experience than me, my world is your oyster; please feel free to chime in.
Can we fruitfully think of matrices and systems of equations in terms of classes, objects, types?
 A: The short computer science answer to this question

Can we fruitfully think of matrices and systems of equations in terms
  of classes, objects, types?

is an unqualified "yes".
Any object oriented language can have (and may already have) a Matrix class. You instantiate those objects to create matrices, and manipulate them with methods from the class.
With sufficient generality the "scalars" that fill up a matrix need not be numbers - but you do have to be able to do arithmetic with them. 
To label rows and columns of a matrix you might inherit from the Matrix class, or, more likely, wrap it.
A: Matrices are specialized mathematical entities to deal with linear algebra problems, for which extremely powerful theories and methods are available.
It all revolves around linear and affine combinations, which are expressions like $$ax+by+cz+d,$$ where ordinary addition and multiplications are used, and usually all parameters, be them constant coefficients $a,b,c,d$ or variables $x,y,z$, are real or complex.
Linear algebra doesn't care about the interpretation of these numbers nor about types. All that matters is the numerical handling. You are free to add your favorite meaning, but I doubt that you will ever find a matrix package that supports any kind of typing.
