{"id":21630904,"url":"https://github.com/guermoud98/exercice-csharp","last_synced_at":"2026-04-26T20:31:11.290Z","repository":{"id":206295262,"uuid":"716297449","full_name":"Guermoud98/Exercice-CSharp","owner":"Guermoud98","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-08T23:45:24.000Z","size":220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-09T04:03:47.964Z","etag":null,"topics":["abstraction","csharp","visual-studio"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Guermoud98.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-08T20:58:13.000Z","updated_at":"2023-11-08T23:46:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f66aced-b27a-4fbf-96b6-946ac3df8477","html_url":"https://github.com/Guermoud98/Exercice-CSharp","commit_stats":null,"previous_names":["guermoud98/exercice-csharp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Guermoud98/Exercice-CSharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guermoud98%2FExercice-CSharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guermoud98%2FExercice-CSharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guermoud98%2FExercice-CSharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guermoud98%2FExercice-CSharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Guermoud98","download_url":"https://codeload.github.com/Guermoud98/Exercice-CSharp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guermoud98%2FExercice-CSharp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32312160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abstraction","csharp","visual-studio"],"created_at":"2024-11-25T02:12:39.505Z","updated_at":"2026-04-26T20:31:11.274Z","avatar_url":"https://github.com/Guermoud98.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TP 5 : Classes abstraites DotNet  \n\nObjectifs :  \n• Créer une classe abstraite.  \n• Dériver une classe abstraite  \n• Implémenter une méthode abstraite  \nEnoncé :\n1. Soit la classe abstraite Employé caractérisée par les attributs suivants :  \n• Matricule  \n• Nom  \n• Prénom  \n• Date de naissance  \nLa classe Employé doit disposer des méthodes suivantes :  \n• Un constructeur d’initialisation sachant que lors de la création d’un employé, son\nmatricule est incrémenté selon le nombre d’employés créés.  \n• Des propriétés pour les différents attributs  \n• La méthode toString  \n• Une méthode abstraite calculerSalaire.  \n2. Un ouvrier est un employé qui se caractérise par sa date d’entrée à la société.  \n• Tous les ouvriers ont une valeur commune appelée SMIG=2500 DH  \n• L’ouvrier a un salaire mensuel qui est : Salaire = SMIG + (Ancienneté en année) *100.  \n• De plus, le salaire ne doit pas dépasser SMIG*2.  \n3. Un cadre est un employé qui se caractérise par un indice.  \n• Le cadre a un salaire qui dépend de son indice :  \no Indice 1 : salaire mensuel 13000 DH  \no Indice 2 : salaire mensuel 15000 DH  \no Indice 3 : salaire mensuel 17000 DH  \no Indice 4 : salaire mensuel 20000 DH  \n\n4. Un patron est un employé qui se caractérise par un chiffre d’affaires et un pourcentage.  \n• Le chiffre d’affaires est commun entre les patrons.  \n• Le patron a un salaire annuel qui est égal à x% du chiffre d’affaires : Salaire =\nCA*pourcentage/100  \n\nTravail à faire :  \n1. Créer la classe abstraite Employé.  \n2. Créer la classe Ouvrier, la classe Cadre et la classe Patron qui héritent de la classe\nEmployé, et prévoir les Constructeurs et la méthode ToString de chacune des 3\nclasses.  \n3. Implémenter la méthode CalculerSalaire() qui permet de calculer le salaire pour\nchacune des classes.  \n4. Créer une classe Program pour tester les méthodes des classes crées  \n5. Dans la classe Program, créez un tableau contenant 3 employés, en stockant un objet\nde chaque classe à l'intérieur, puis appelez les méthodes ToString et CalculerSalaire\npour chaque élément du tableau.  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguermoud98%2Fexercice-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguermoud98%2Fexercice-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguermoud98%2Fexercice-csharp/lists"}