Абстрактни класове в помагат на потребителите да постигнат абстракция, която е най-важната обектно-ориентирана практика на програмиране, следвана по време на процеса на проектиране на софтуер. В тази статия ще обсъдим терминологията на абстрактните класове чрез следващия документ.
- Какво представляват абстрактните класове в Java?
- Защо се нуждаем от абстрактни класове в Java?
- Правила за използване на абстрактни класове в Java
- Начини за постигане на абстракция в Java
- Синтаксисът за абстрактни класове
- Практически примери за абстрактни класове
- Разлика между интерфейса и абстрактния клас
Какво представляват абстрактните класове в Java?
Абстрактни класове в действат като граница между метода на изпълнение и неговата функционалност. Той се използва за обмен на функционалност между Бетон членовете на класа и Резюме Клас.
Абстрактни класове се считат за тези класове, които крият Изпълнение на метода подробности от потребителя и показват само Функционалност на метода. Те се декларират с помощта на ключовата дума абстрактно . Тези методи могат да включват Резюме и Неабстрактен методи в тях.
предимства на jquery пред javascript
Защо се нуждаем от абстрактни класове в Java?
Нуждаем се от абстрактни класове в Java по следните причини:
- Поддръжка на абстрактни класове Разделителна способност на динамичен метод по време на изпълнение
- Те помагат на потребителите да постигнат Разхлабено съединение
- Абстрактни класове разделят Определение на метода от Наследеното Подкласове
- Те осигуряват Функционалност по подразбиране на дефинирания метод за всички подкласове
- Абстрактните класове осигуряват a Шаблон за бъдещи специфични класове
- Абстрактният клас позволява Код Повторно използване
Правила за използване на абстрактни класове в Java
За да приложим абстрактен клас в Java, трябва да следваме правилата, описани по-долу:
- Абстрактният клас трябва да бъде деклариран с помощта на абстрактно ключова дума.
- Абстрактните класове могат да включват абстрактно и не абстрактен методи.
- Абстрактен клас не може да бъде инстанциран.
- Те могат да включват конструктори и статични методи.
- Абстрактният клас включва финал методи.
Начини за постигане на абстракция в Java
Процесът на абстракция в Java може да бъде постигнат чрез следните два метода, както е споменато по-долу:
- Внедряване на абстрактен клас
- Внедряване на интерфейс
Синтаксисът за абстрактни класове
Синтаксисът за дефиниране на абстрактни класове и абстрактни методи е както следва:
абстрактен клас Edureka {}
Метод на абстрактния клас ()
Практически примери за абстрактни класове
// Абстрактен клас
пакет Абстрактна публична абстрактна класа Person {частно име на низа private String пол публично Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Gender = '+ this.gender}}
// Студентски клас
пакет Абстрактна публична класа Student разширява Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Не се учи')} else {System.out.println ('Извършване на бакалавърска степен по инженерство')}} public static void main (String args []) {Person student = new Student ('Priya', 'Female', 0) Person student1 = new Student ('Karan', 'Male', 201021) Person student2 = new Student ('Kumari', 'Female', 101021) Person student3 = new Student (' Джон ',' Мъж ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}
Изход:
десетичен към двоичен питонов код
Не учи
Осъществяване на бакалавърска степен по инженерство
Осъществяване на бакалавърска степен по инженерство
Осъществяване на бакалавърска степен по инженерство
Име = Прия :: Пол = Жена
Име = Каран :: Пол = Мъж
Име = Кумари :: Пол = Жена
Име = Джон :: Пол = Мъж
Разлика между интерфейса и абстрактния клас
Интерфейс | Абстрактен клас |
Може да има само абстрактни методи | Може да има абстрактни и абстрактни методи |
Той има само окончателни променливи | Включва нефинални променливи |
Той има само статични и окончателни променливи | Той има статични, нестатични, окончателни, не-окончателни променливи |
Няма да внедри абстрактния клас | Може да реализира интерфейс |
Реализирано с помощта на ключова дума „implements“ | Реализирано с помощта на ключова дума „extends“ |
Може да разширява само интерфейс | Може да разширява Java класове и интерфейси |
По подразбиране членовете са публични | Членовете могат да бъдат частни и защитени |
// Пример за абстрактен клас
пакет abstactVSinterface абстрактен клас Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle extends Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Кръгът е изчертан')} @Override публична двойна област () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Площ на правоъгълника:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('Площта на кръга е:' + circle.area ())}}
Изход:
Java разлика между разширява и изпълнява
Площ на правоъгълник: 600.0
Площта на кръга е: 628,0
// Пример за интерфейс
пакет absVSint интерфейс Shape {void draw () double area ()} class Rectangle implements Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Правоъгълникът е нарисуван')} @Override публична двойна зона () {return (двойна) (дължина * ширина)}} клас Кръгът изпълнява Форма {двойно pi = 3,14 вътрешен радиус Кръг (вътрешен радиус) {this.radius = radius} @Override public void draw () {System.out.println ('Кръгът е нарисуван')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} клас Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Площ на правоъгълника:' + rect.area ()) Shape circle = нов кръг (20) System.out.println ('Област на кръга:' + circle.area ())}}
Изход:
Площ на правоъгълник: 600.0
Площ на кръга: 628.0
С това стигнахме до края на тази статия. Надявам се, че сте разбрали важността на абстракцията, синтаксиса, функционалността, правилата за абстракция в Java и практически примери, свързани с тях.
След като разбрахте основите на Java, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Пролет .
Имате въпрос към нас? Споменете го в раздела за коментари в този блог „Абстрактни класове в Java“ и ние ще се свържем с вас възможно най-скоро.