{"title":"静态类型语言中的类细化","authors":"Jean Privat, Roland Ducournau","doi":"10.3166/objet.11.1-2.17-32","DOIUrl":null,"url":null,"abstract":"Classes and specialisation bring simultaneously structure and flexibility to object oriented programs. However, many propositions for model extension (aspects, modules, etc.) prove that these qualities are often considered insufficient. This article proposes two binded notions of class refinement and modules, the former improves flexibility whereas the latter improves structure. Modules contain a coherent set of class definitions and can modify classes defined in modules they depend. This proposition focuses on statically typed languages where modules can be separately compiled. It is based on a module metamodel analogue to the class one and problems with multiple specialisation and refinement are managed like those in multiple inheritance.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Raffinement de classes dans les langages à objets statiquement typés\",\"authors\":\"Jean Privat, Roland Ducournau\",\"doi\":\"10.3166/objet.11.1-2.17-32\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Classes and specialisation bring simultaneously structure and flexibility to object oriented programs. However, many propositions for model extension (aspects, modules, etc.) prove that these qualities are often considered insufficient. This article proposes two binded notions of class refinement and modules, the former improves flexibility whereas the latter improves structure. Modules contain a coherent set of class definitions and can modify classes defined in modules they depend. This proposition focuses on statically typed languages where modules can be separately compiled. It is based on a module metamodel analogue to the class one and problems with multiple specialisation and refinement are managed like those in multiple inheritance.\",\"PeriodicalId\":201701,\"journal\":{\"name\":\"Obj. Logiciel Base données Réseaux\",\"volume\":\"9 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2005-06-30\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Obj. Logiciel Base données Réseaux\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.3166/objet.11.1-2.17-32\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Obj. Logiciel Base données Réseaux","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3166/objet.11.1-2.17-32","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Raffinement de classes dans les langages à objets statiquement typés
Classes and specialisation bring simultaneously structure and flexibility to object oriented programs. However, many propositions for model extension (aspects, modules, etc.) prove that these qualities are often considered insufficient. This article proposes two binded notions of class refinement and modules, the former improves flexibility whereas the latter improves structure. Modules contain a coherent set of class definitions and can modify classes defined in modules they depend. This proposition focuses on statically typed languages where modules can be separately compiled. It is based on a module metamodel analogue to the class one and problems with multiple specialisation and refinement are managed like those in multiple inheritance.