データに格納されているクラスごとに処理を分けたいです。今

class Test():
    def test(self, user_code):
        (question, answer_code, type) = ans()
        if user_code == ans_code:
           return True
        else:
           return False

class Array(Test):
    def ans(self):

        question = "TEST1"
        answer_code ="TEST1"

        return (question,answer_code,"Array")

class For(Test):
    def ans(self):

        question = "TEST2"
        ans_code ="TEST2"

        return (question,ans_code,"For")

のようにコードを書きました。user_dataのデータベースに
question_id | user_id | ans | type
1 1 TEST1 Array
2 2 TEST3 For という風にデータが格納されています。
このuser_dataのデータベースのtypeにArrayが入っているときは、class Arrayのansメソッドを呼び出し、Forが入っているときはclass Forのansメソッドを呼び出したいです。user_code引数にuser_dataのデータベースのansの中身が入っています。
そのようにデータベースの内容と呼び出したいクラスを紐づけるには上記のコードにどう追加すれば良いでしょうか?
コードを実行すると、ans()メソッドが定義されていないと出ます。