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