Ok langsam verstehe ich das Ganze ein wenig besser. Habe nochmal im pgfmanual nachgeschaut und folgenden Befehl gefunden, der mir bei dieser Geschichte weiterholft:
weiterhilft:
> `\pgfooget{<attribute>}{<macro>}` Reads the current value of *attribute* and stores the result in *macro*.
Damit funktioniert Folgendes:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage{subfig}
\usepackage{filecontents}
\usepackage{pgf}
\usepgfmodule{oo}
\begin{filecontents*}{foo.bar}
Das ist ein Test
\end{filecontents*}
\pgfooclass{MyClass}{
\attribute name;
\attribute file;
\method MyClass(#1){ % constructor
\pgfooset{name}{#1}
}
\method printName() {
\pgfoovalueof{name}
}
\method setFile(#1) {
\pgfooset{file}{#1}
}
\method getFile() {
\pgfooget{file}{\fileMacro}
\lstinputlisting{\fileMacro}
}
}
\pgfoonew \myObject=new MyClass(Automatic Foo Bar)
\myObject.setFile(foo.bar)
\begin{document}
\myObject.getFile()
\end{document}