Для 1. Как я понимаю, класс, который расширяет другой класс, просто означает, что класс, который расширяет другой класс, имеет доступ к переменным / свойствам и функциям / методам класса, из которого он расширяется. Это правильно?
ANS: Это верно, но это еще не все. Расширяющий класс также может настраивать расширенный класс, переопределяя метод расширенного класса. И, конечно, он также может расширять функциональность суперкласса, добавляя новые поля и методы.
Для 2. Я знаю, что статический метод или свойство в основном совпадают с процедурной функцией или переменной вне класса и могут использоваться практически везде. Это правильно?
ANS: Да, это правильно и, как сказал зомбат, пока класс общедоступен и загружен, а свойство и метод общедоступны. Другими словами, вы используете класс в качестве пространства имен этих элементов.
Для 3. Public означает, что любой класс может получить к нему доступ, а Private означает, что только тот класс, который инкапсулирован, или класс, расширенный от владельца, может получить к нему доступ и использовать. Это правильно?
ANS: Думайте об этом как о физических свойствах, общедоступный компьютер (в библиотеке) может использоваться всеми, а ваш частный компьютер (предположительно) может использоваться только вами.
Просто добавлено в комментарий Zambat.