1 / 8100%
Microsoft has been in the process of growth and expansion
since its invention, with different languages being implemented
to make it more efficient and able to handle a wider
diversity of work. C# is one of the latest programming
languages to be introduced in Microsoft. Unlike the earlier
programming languages that were closed sources, C sharp is
an open programming source that is easy to use, modern,
and purpose-oriented. C# provides an avenue to reuse existing
codes crucial in enhancing object-oriented concepts such as
classes and inheritance. Class is a common term used when
dealing with C# to refer to specific user-defined data
representing the states and behaviors of particular objects.C#,
like any other object-oriented programming language, is characterized
by interdependence among different classes in which one class
either enhances the functioning of the other or overrides the
other. The relationship between classes in the inheritance
concepts brings about the issue of the base class and the
derived class, where the former refers to the class from
which the functionality of the other class is derived. In
developing a personal programming language, I would have a
class as a template for creating objects within, while the
system objects would be the specific objects fed into the
different classes.
Object Oriented Programming, a framework for programming, is
centred around classes, which act as blueprints or patterns
through which objects develop, and objects that exist in
reality are examples of a class. Inheritance is a means
to illustrate the actual connections between both of them.
The process of inheriting the properties and functions of a
different class is known as inheritance. The parent class,
sometimes referred to as the superclass, represents the one
from which the methods and characteristics are derived. And
the child class, referred to as a derived class, receives
the parent class's attributes through inheritance.
Classes in C# offer the concepts of derived and parent
classes, flexibility, and inheritance (Surya and Padmavathi, 2019).
for example, the base class Animal is being inherited by
the derived class Dog. The Animal class's attributes and
techniques have been accessible to the Dog class.
An illustration can be taken: Vehicle is a more general
category that includes cars, buses, and bicycles. This
indicates that all of them have inherited the characteristics
of the vehicles that represent transportation. By using
inheritance, we may describe this connection in programming.
An automobile is a real-world thing. The automobile
comprises techniques like acceleration and brake as well as
characteristics like mass and color. A class is used to
build an object. After the class Car is established, we
may use it to generate objects. An example of object
oriented programming or OOP utilizing C# would be Unity,
there are other object oriented programs and languages as
well such as Unreal Engine which utilizes C++. These
two programs use a visual programming of C# or C++
to create video games and almost all major game creators
use one of these programs or their own in house form
of these visual editors to write in C# or C++. Almost
all software is written with object oriented programming as
it is designed to run in .NET so no matter if its
a video editor, financial software, or even word processor
it is mostly written in an object oriented programming
language such as C# or C++object oriented programming is
essential in smoothly and easily utilize different classes,
system objects, and inheritance. Classes are interrelated for
specific reasons, and usually logically connected. A class is
a group of objects that are made up of code, where
a object is a singular piece of code, inheritance is
when one class derives attributes from another class. All
are equally important and have different uses within object
oriented programming. There are six main types of
relationships between classes: inheritance , realization /
implementation , composition , aggregation , association, and
dependency . The arrows for the six relationships are as
follows:
Then we come to understand the specific content of the
class relationship.
In the six types of relationships, the code structure of
the three types of relationships such as composition ,
aggregation , and association is the same as using
attributes to store the references of another class. Therefore,
they must be distinguished by the relationship between the
contents.
Inheritance is also called generalization and is used to
describe the relationship between parent and child classes. A
parent class is also called a base class, and a subclass
is also called a derived class.
In the inheritance relationship, the subclass inherits all the
functions of the parent class, and the parent class has
all the attributes, methods, and subclasses. Subclasses contain
additional information in addition to the same information as
the parent class.
For example: buses, taxis, and cars are cars, they all
have names, and they can all be on the road. Based
on my understanding, the relationship between types of
classes, system objects, and inheritance its easily illustrated
using a tree type diagram. The top of the structure is
the base, or superclass, and all branches downward are
subclasses. In C# and the .NET environment, System.Object
is the default superclass. Classes can be definitions, record
layouts, report layouts, internal storage elements passed between
functions in a program, basically whatever the “thing” is
that you are working on. I think of the class as
the definition of this “thing”. It is instantiated with the
“new” command, and the elements (variables, fields, etc.…)
are accessible (maybe not changeable, but at least accessible)
to all modules which inherit the class. When a program
is executing, the run time environment generally provides a
set of system tools, fields, commands, functions, etc.
available for programs that execute in the environment to
access, these are system objects, and are be accessed
(inherited) into our programs by the superclass System.Object.
Examples of system tools are system time, date, environment
variables such as .NET components, error codes, and more.
When specifying the classes, we can direct the inheritance
of classes specifically to system objects by using the
“:object” parameter on the class statement. When programs
are executing, the classes that have been defined and
invoked are virtual images of those definitions and are
accessible programmatically.
For example, I need a system to accept input from 4
different sources and merge the input together and create
one master set of data. The data is appointment schedule
data from various scheduling systems, and they all produce
a downloadable text file with the appointment data. I
need this data merged into one master appointment
scheduling system – more flexible than what is available
free through google or iOS. So, I will define a class
layout for each of the 4 input sources, and write
modules that will open and read the text files and
update an MS Access database of appointments. As an
Application Developer for a Construction Management Company,
you create entire enterprise applications, and you'll need to
create software that caters to different departments like HR,
Construction Management, Payroll, and Adjusters. Types of
classes, system objects, and inheritance are crucial concepts
to achieve this goal.
-For HR, custom classes can manage employee data and
payroll information. System objects like FileStream and Stream
Reader classes can read data from CSV files for
managing employee data.
-Construction Management can use custom classes for building
structures, equipment, and tasks. Inheritance can create
subclasses of existing classes to add new features specific
to construction management.
-Payroll can benefit from software to manage employee
payroll data and calculate taxes. Custom classes can manage
employee payment information, and system objects like the
Math class can perform complex calculations.
-Adjusters can use custom classes to manage claims data
and adjuster information. Inheritance can create subclasses of
existing classes to add new functionality, like managing
photos or documents related to a claim.
In conclusion, by applying the concepts of types of
classes, system objects, and inheritance, you can develop
software that meets the unique needs of each department.
This software will be easy to maintain, provide a
streamlined user experience, and improve the overall efficiency
of the company. As an Application Developer, it is
crucial to utilize these concepts to develop software that
meets the specific requirements of the construction management
company since many applications will overlap. For example,
within a department, you'll often run across a scenario
where different tables that share similar fields share similar
data sources, but are accessed by multiple applications, so
maintaining clear relationships is mission-critical in all enterprise-
level applications. OOP has been available in various
languages and environments since the 1960s. I know it is
hard to believe as most books make it sound like
OOP is new and the latest and greatest. My experience
has been in organizations where we have emphasized code
reuse through OOP and others where functional Programming
(code and function libraries) have been used. I wish I
could tell that one side wins easily. We could argue
that the development staff and management play a huge
role in the success or failure of any option. Many of
you will bring up the concept of code reuse as your
argument for OO.
Students also viewed