Проверка, является ли класс подклассом другого

Вы добавляете объект ученика в адаптер. вам нужно добавить список студентов в адаптер. измени свой код следующим образом

        final List<student> stud = new ArrayList();
        if (c.moveToFirst()) {
            do {
                student stu = new student();
                stu.id = c.getString(id);
                stu.name = c.getString(name);
                stu.age = c.getString(age);

                stud.add(stu); // add your object to list

            } while (c.moveToNext());

              mAdapter = new Adapter(stud);
              recyclerView.setAdapter(mAdapter);
20
задан Fabian Schmengler 4 August 2015 в 14:00
поделиться

3 ответа

is_subclass_of () правильно проверит, расширяет ли класс другой класс, но не вернет true , если два параметра совпадают ( is_subclass_of ('Foo', 'Foo') будет false ).

Простая проверка на равенство добавит необходимую вам функциональность.

function is_class_a($a, $b)
{
    return $a == $b || is_subclass_of($a, $b);
}
32
ответ дан 29 November 2019 в 22:49
поделиться

Yup, with Reflection

<?php

class a{}

class b extends a{}

$r = new ReflectionClass( 'b' );

echo "class b "
    , (( $r->isSubclassOf( new ReflectionClass( 'a' ) ) ) ? "is" : "is not")
    , " a subclass of a";
13
ответ дан 29 November 2019 в 22:49
поделиться

Проверьте is_subclass_of () . Начиная с PHP5, он принимает оба параметра как строки.

Вы также можете использовать instanceof . Он вернет true, если класс или любого из его потомков совпадет.

11
ответ дан 29 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: