Perl OOP中的类
在这个现代社会中,编程的使用已经发展到了极致,并且在我们生活的每一项工作中都有应用,我们需要让自己适应这种与现实世界的例子直接相关的编程范式。现实世界的竞争力和问题的复杂性已经发生了巨大的变化,因此现在的行业需要一些通用的方法来解决这些复杂的问题。面向对象的编程语言的概念可以很好地应对这些复杂的问题,并且是一种塑造任何编程语言的完美方式,使现实世界的例子变得非常容易解决。面向对象的编程(OOP)使用的方法是强调对象而不是程序。OOPs的概念是关于在对象和对象之间的互动方面的工作。
注: 面向对象编程的目的是在编程中实现现实世界的实体,如继承、 封装、 多态性 等。OOP的主要目的是将数据和对其进行操作的函数绑定在一起,这样除了该函数外,代码的其他部分都无法访问这些数据。
对象 –
一个对象是一个具有某些特征和行为的数据结构类的实例。例如,我们说一个 “苹果 “是一个对象。它的特征是:它是一种水果,它的颜色是红色,等等。它的行为是:”它味道很好 “。在OOPs的概念中,对象的特征由其数据表示,行为由其相关函数表示。因此,一个对象是一个存储数据的实体,并通过函数拥有其接口。
类 –
类是数据结构的一个扩展概念。它定义了一个由数据组成的对象的原型蓝图。而一个对象是一个类的实例。一个类包括数据成员和数据函数,它是根据用户的要求预先定义的数据类型,可以通过创建该类的实例来访问和使用。
例子:
考虑一个学校的类.可能有一些学校有不同的名字和结构,但它们都有一些共同的特征,如学生、教师、员工等等。所以这里学校是一个类,教师、学生和家长是数据成员,成员函数可以是calculate_students_marks(), calculate_teachers_salary(), and Parents_Database()。
数据成员: 数据成员是数据变量,成员函数是用来操作这些变量的函数,这些数据成员和成员函数共同定义了类中对象的属性和行为。
定义一个类 –
在Perl中定义一个类是非常容易的。在Perl中,一个类对应于一个包。要定义一个类,我们首先要加载并建立一个Package。一个Package是一个预先包含了用户定义的变量和子程序的单元,它可以在整个程序中使用。
语法
package Class_name
创建类和使用对象
在Perl中,一个类可以通过使用关键字package来创建,但要创建一个对象,需要调用一个构造函数。构造函数在类中被定义为一种方法。
创建一个类的实例
类的名称和构造函数的名称可以根据用户的要求而定。大多数程序员喜欢使用 “new “作为他们程序的构造函数名称,因为它很容易记住,而且比其他复杂的构造函数名称更容易使用。
package student // This is the class student
sub Student_data // Constructor to class
{
my class = shift;
myself = {
_StudentFirstName => shift;
_StudentLastName => shift;
};
print "Student's First Name is self ->{_StudentFirstName}\n";
print "Student's Last Name isself ->{_StudentLastName}\n";
bless self,class;
return $self;
}
在上面的示例代码中,使用了一个名为 boss 的函数。这个函数用来将一个对象附加到一个作为参数传递给它的类上。
语法
bless Object_name, Class Name
创建一个对象
Perl中的一个对象是通过使用类中定义的构造函数来实例化的。一个对象的名字可以是用户要求的任何变量,但传统的做法是根据它与类的关联性来命名。
$Data = Student_data student( "Shikhar", "Mathur");
例子
use strict;
use warnings;
package student;
# constructor
sub student_data
{
# shift will take package name 'student'
# and assign it to variable 'class'
my class_name = shift;
myself = {
'StudentFirstName' => shift,
'StudentLastName' => shift
};
# Using bless function
bless self,class_name;
# returning object from constructor
return self;
}
# Object creating and constructor calling
myData = new student_data student("Geeks","forGeeks");
# Printing the data
print "Data->{'StudentFirstName'}\n";
print "Data->{'StudentLastName'}\n";
输出
Geeks
forGeeks
在面向对象编程中使用类的概念非常重要,因为它完全描绘了现实世界的应用,可以在现实世界的问题中采用。