intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lecture note Data visualization - Chapter 13

Chia sẻ: Minh Nhật | Ngày: | Loại File: PPTX | Số trang:36

16
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

In this lecture we learned about: Separation of interface and implementation, objects are declared as primitive type, the destructor operator, copy constructor, default constructor.

Chủ đề:
Lưu

Nội dung Text: Lecture note Data visualization - Chapter 13

  1. Lecture 13 
  2. Recap  Separation of Interface and Implementation  Objects are Declared as Primitive Type  The Destructor Operator Copy Constructor  Default Constructor 
  3. Selective Questions from  Exercise
  4. Q: What is information hiding? What is encapsulation?  How does C++ support these concepts? Answer:  Information hiding makes implementation details,  including components of an object, inaccessible. Encapsulation is the grouping of data and the  operations that apply to them to form an aggregate  while hiding the implementation of the aggregate.  Encapsulation and information hiding are achieved  in C++ through the use of the class.
  5. Q: Explain the public and private sections of the class. Answer: Members in the public section of a class are visible  to non­class routines and can be accessed via the.  member operator. Private members are not visible  outside of the class.
  6. Q: Describe the roles of the constructor and destructor. Answer: The constructor is called when an object is created,  either by declaration, a call to new, or as a member of  an object which itself is being constructed. The destructor is called when the object exits scope,  either because it is a local variable in a terminating  function, it is subject to a delete, or it is a member of an  object whose destructor is called.
  7. Q: What is the difference between a copy constructor and  a copy assignment operator? Answer: The copy constructor creates and initializes a new  object. It is used to implement call by value.  The copy assignment operator copies into an already  existing object.
  8. Q: If a class provides no constructor and no destructor,  what is the result? Answer: The default constructor is a member­by­member  application of a default constructor. The default  destructor is a member­by­member application of a  destructor.
  9. Chapter 4 Inheritance 
  10. Introduction  In this chapter we will study how the general principles of inheritance and the  object­oriented concept of polymorphism relate to code  reuse, how inheritance is implemented in C++, how a collection of classes can be derived from a  single abstract class, how run­time binding decisions, rather than compile­ time linking decisions, can be made for these classes.
  11. Introduction to Inheritance On one level inheritance is the fundamental object­ oriented principle governing the reuse of code among  related classes Inheritance models the IS­A relationship In an IS­A relationship, the derived class is a base class For example: a Circle IS­A Shape and a Car IS­A Vehicle.  However, an Ellipse  IS­NOT­A Circle Inheritance relationships form hierarchies  For instance: we can extend Car to other classes, as a  Foreign car IS­A Car and a Domestic car IS­A Car and so 
  12. Continued…. Another type of relationship is a HAS­A relationship In a HAS­A relationship, the derived class has a base  class. This type of relationship does not possess the properties  that would be natural in an inheritance hierarchy For Example: A car HAS­A steering wheel Generally, HAS­A relationships should not be modeled  by inheritance. Instead, they should be modeled with the  technique of composition, in which the components are  simply made private data fields
  13. Inheritance in C++  The C++ language itself makes some use of inheritance in  implementing its class libraries.  Two examples are  Exceptions  Files
  14. Exceptions  C++ defines in  the  class exception There are several kinds of  exceptions, including bad_alloc  and bad_cast In figure Classes in exception hierarchy  has been shown Each is a separate class, but for  all of them, the what method can  be used to return a string that 
  15. I/O Operation In figure streams hierarchy uses  inheritance In actual, the streams  hierarchy is more complex  than shown
  16. IS­A Relationship  The inheritance models an IS­A relationship A button IS­A component  A bad_cast IS­A exception An if stream IS­A istream Because of IS­A relationships, the fundamental property  of inheritance guarantees that any method that can be  performed by istreamcan also be performed by  ifstreamand that an ifstream object can always be  referenced by an istream reference  The reverse is not true
  17. Continued…. what is a method available in the exception class If we need to catch various exceptions we can use a catch  handler and write:  { catch( const exception & e ) I cout 
  18. Polymorphism in Inheritance  The call to what illustrates an important object­oriented  principle known as polymorphism It is the ability of a reference variable to reference objects  of several different types When operations are applied to the variable, the operation  that is appropriate to the actual referenced object is  automatically selected The same is true for pointer variables  In the case of an exception reference, a run time decision  is made
  19. Classes in Inheritance  Inheritance is the process of deriving a class from a base  class without disturbing the implementation of the base  class The base class is the foundation for inheritance A derived class is a completely new class that inherits all  the properties of the base class, with all the public  methods available to the base class becoming public  methods with identical implementation of the derived  class The derived class can then add data members and  additional methods and change the meaning of the 
  20. Continued…. A derived class is type compatible with its base class A reference variable of the base class type may reference  an object of the derived class, but not vice versa  Sibling classes (i.e., classes derived from a common class)  are not type compatible The exception hierarchy highlights the typical design  approach of factoring commonalities into base classes and  then specializing in the derived classes In this hierarchy, we say that the derived class is a  subclass of the base class and the base class is a superclass 
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
10=>1