La meilleure chose que vous pouvez faire est: Avoir une tonne de questions-réponses.
Wikipédia en programmation procédurale (PP) article vraiment hits où vous devriez commencer:
Considérant que la procédure de programmation utilise
les procédures d'opérer sur des données
structures orientées objet
la programmation regroupe les deux ensemble
ainsi un "objet" fonctionne sur son "propre"
structure de données.
Une fois que c'est compris, je pense que beaucoup de choses vont se mettre en place.
En général
La programmation orientée objet est une de ces choses qui peut prendre du temps pour "obtenir" et chaque personne prend son propre chemin pour y arriver. Lorsque l'on écrit en C#, il n'est pas comme le code des cris, "je suis en utilisant OO principes!" dans chaque ligne. C'est plus d'une chose subtile, comme un foreach
boucle, ou string
de concaténation.
Centre de Design
Toujours utiliser quelque chose (à plusieurs reprises) avant de faire cela.
Tout d'abord, utiliser un objet, et de démontrer les différences de base de PP. Comme:
static void Main(string[] args)
{
List<int> myList = new List<int>();
myList.Add(1);
myList.Add(7);
myList.Add(5);
myList.Sort();
for (int i = 0; i < myList.Count; i++)
{
Console.WriteLine(myList[i]);
}
}
En utilisant les objets (et les autres OO choses) d'abord, avant d'être contraint à créer leur propre, amène les gens à descendre le chemin de, "Ok, je suis en train de faire quelque chose comme ce que je viens d'employer," plutôt que de "WTF suis-je taper?"
L'héritage (c'est un piège!)
Je ne voudrais PAS passer beaucoup de temps sur l'héritage. Je pense que c'est un piège pour les leçons à en faire une grosse affaire à ce sujet (généralement de faire un cliché animal de la hiérarchie, comme d'autres l'ont souligné). Je pense qu'il est essentiel de savoir à propos de l'héritage, de comprendre comment utiliser le .NET Framework, mais ses nuances ne sont pas que les grandes d'un accord.
Quand je suis en utilisant .NET, je suis de plus en plus probable "exécuter en héritage" quand je suis à l'aide de l' .NET Framework (c'est à dire "est-ce contrôle ont un Content
de la propriété?" ou "je vais juste appeler sa ToString()
méthode.") plutôt que lorsque je crée ma propre classe. Très (très (très) rarement, je ressens le besoin de faire quelque chose imitant la structure taxinomique du règne animal.
Interfaces
Le codage d'une interface est une clé de mi-niveau concept. Il est utilisé partout, et la programmation orientée objet la rend plus facile. Des exemples de ce sont illimitées. S'appuyant sur l'exemple que j'ai ci-dessus, on pourrait démontrer l' IComparer<int>
interface:
public int Compare(int x, int y)
{
return y.CompareTo(x);
}
Puis, l'utiliser pour modifier l'ordre de tri de la liste, par myList.Sort(this)
. (Après avoir parlé this
, bien sûr.)
Les meilleures pratiques
Depuis il y a quelques développeurs expérimentés dans le groupe, une stratégie dans le milieu des classes de niveau serait la preuve que les meilleures pratiques de travail en C#. Comme, se cacher de l'information, le modèle observateur, etc.
Avoir une tonne de Q&A
Encore une fois, tout le monde apprend de façon légèrement différente. Je pense que la meilleure chose que vous pouvez faire est d'avoir une tonne de Q&A et d'encourager les autres dans le groupe pour avoir une discussion. En général, les gens apprennent davantage lorsqu'ils sont impliqués, et vous avez une bonne situation où ce devrait être plus facile.