1 / 10

Eiffel Overview by Norman Wong

Eiffel Overview by Norman Wong. May 10, 2001. Agenda. What’s Eiffel Language Environment Methodology Example Conclusion. What’s Eiffel. Eiffel is a pure object-oriented language Developed in 1985 by Bertrand Meyer (a French Computer Scientist)

fuller
Télécharger la présentation

Eiffel Overview by Norman Wong

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Eiffel Overview byNorman Wong May 10, 2001

  2. Agenda • What’s Eiffel • Language • Environment • Methodology • Example • Conclusion

  3. What’s Eiffel • Eiffel is a pure object-oriented language • Developed in 1985 by Bertrand Meyer (a French Computer Scientist) • Syntax loosely derived from Simula, Pascal, Ada, ALGOL, CLU and Z • Eiffel is a methodology, language and environment for developing high-quality reusable software components.

  4. Language • The Eiffel language includes many important features • Simple, highly readable syntax • Automatic memory management (garbage collection) • Disciplined exception handling • Interoperability with other languages such as C and C++ • Large collections of high-quality reusable class libraries for many application areas

  5. Environment • Eiffel has a fully graphical environment: • Analysis and design workbench • Editor • Browser and debugger • Documentation

  6. Methodology • Clean Multiple Inheritance • Renaming mechanism eliminates name clashes • Static, strong-typing • Errors are caught at compile time, not run time • All message binding is dynamic

  7. Example Example of a bank account balance logic: classACCOUNT feature balance: INTEGER owner: PERSONminimum_balance: INTEGER is1000open (who: PERSON) is -- Assign the account to ownerwho. do owner := who end deposit (sum: INTEGER) is -- Deposit suminto the account. do add (sum) end

  8. Example (Cont.) Withdraw (sum: INTEGER) is - Withdraw sum from the account. Do Add (-sum) End May_withdraw (sum: INTEGER): BOOLEAN is -- Is there enough money to withdrawsum? Do Result := (balance >= sum + minimum_balance) End Feature {NONE} Add (sum: INTEGER) is -- Addsumto the balance. Do Balance := balance + sum End End-- class ACCOUNT

  9. Conclusion • Eiffel is a comprehensive approach to the development of high-quality software • Eiffel is quickly becoming the language of choice for teaching modern software technology

  10. Resources • See the ISE (Interactive Software Engineering) Web page: http://www.eiffel.com/ • “Data Structures and Software Development” Eiffel Edition by Jean-Paul Tremblay and Grant A. Cheston

More Related