Enseño C++ durante aproximadamente 2 años en escuelas secundarias, institutos de capacitación en informática, etc. Después de enseñar conceptos básicos sobre variables, matrices, estructuras, funciones, siempre comienzo la parte de ejemplos orientados a objetos con ejemplos tradicionales, como este:Cómo enseñar programación orientada a objetos: ¿Alguna idea de dónde empezar?
class Person {
public:
Person();
~Person();
char* getFirstName(); //we can use std::string instead of char* in optimization part
char* getLastName();
char* getFullName();
int getAge();
bool getGender();
void printFullProfile();
void setFirstName(char*);
void setLastName(char*);
void setAge(unsigned int);
void setGender(bool);
void setGender(char);//f for female, m for male.
private:
char* first_name; //or std::string but i prefer to use pointers in the beginning.
char* last_name;
unsigned int age;
bool gender; //ladies 1(st) , male 0
}
y después de completar esta clase Persona y enseñar nuevas cosas como por qué getter y setters métodos son malos y evitando descriptores de acceso, la herencia, el polimorfismo mediante la creación de otras clases (como estudiante, empleado, Moderador etc.), es necesario Habilidades y conceptos de OOP.
[EDITAR]: Y estas clases son útiles para resolver problemas de programación. (Al igual que el cálculo de salario por cada objeto Employee, Estudiantes marca promedio, y muchos otros)
otros ejemplos básicos son la clase de vehículo, clase Shape, etc.
Quiero saber sus ideas acerca de cómo (SOLO) comenzar un salón de OOP.
en busca de grandes ideas.
Algunas recomendaciones para su ejemplo: 1. Casi nunca alentaría el uso de char * durante el uso de C++; en su lugar use std :: string, 2. No hay necesidad de una función setter para cada miembro de la clase (esto es importante para enseñar el significado de la encapsulación) –
duplicado: http://stackoverflow.com/questions/1086086/teaching-oop-to-high-schoolers, relacionado: http://stackoverflow.com/questions/597267/defining -oop-for-a-new-programmer http://stackoverflow.com/questions/355796/how-do-you-explain-oo-to-new-programmers –
Sé que hemos tenido preguntas como esta aquí antes . El único que puedo encontrar es http://stackoverflow.com/questions/1129224/how-to-teach-object-oriented-programming-to-procedural-programmers pero sé que hay otros. – MatrixFrog