Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20

Наследование. Переопределение. Перегрузка

17.10.2012, 23:44. Показов 1679. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В программе есть подклассы. которые не могу дописать, только начали изучать Java. Буду благодарна за помощь. Вот само условие.

Главный класс-фигура. От него наследуется 3 класса: треугол, прямоуг, окружность.
От прямоугольника наследуется 2 класса-параллелограмм и трапеция.
В гл. классе есть 2 уникальных параметра a и b и есть методы-периметр, площадь.
В классе треугол. еще 2 уникал. параметра: 3-я сторона; 3-я сторона и угол на выбор.
В кл. прямоуг. 2 уникал. параметра a и b -3-я и 4-я сторона.
В классе окружность уникал параметров нету.
В классе трапеция 2 параметра - 2 угла при основании.
В классе параллелограмм 1 уникал. параметр - угол при основании.
Поститать в классе прямоуг. метод площадь, переопределить и перегрузить, чтобы счит. площадь квадрата a*b и a*a


Проблемы с треуг., прямоуг. и трапецией
Вложения
Тип файла: rar JavaApplication1.rar (20.0 Кб, 10 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2012, 23:44
Ответы с готовыми решениями:

Полиморфизм/перегрузка/переопределение
class A { void m1(A a) { System.out.print("A"); } } class B extends A { void m1(B b) { ...

Перегрузка или переопределение?
Вопрос: перегрузка это или переопределение? Есть класс, в нем метод public int print(int number){//что-то делаем } После...

Наследование классов и переопределение методов из JDK
Чтобы грамотно переопределять методы нужно читать исходники или в доках есть достаточное количество информации? Если есть то можете...

2
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
19.10.2012, 06:13
Лучший ответ Сообщение было отмечено ira1 как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Fig treug =  new  Treug(4, 6, 8, 49);
        Fig treug1= new Treug(4, 6, 49);
        
        System.out.println("Треугольник периметр");
        System.out.println(treug.per());        
        System.out.println(treug1.per());
        System.out.println("Треугольник площадь");
        System.out.println(treug.plosh());
        
        Fig pryam= new Pryam(4,13,5,3);
        System.out.println("Прямоугольник площадь и периметр");
        System.out.println(pryam.plosh());
        System.out.println(pryam.per());
                
        Fig okrug= new Okrug(5);
        System.out.println("Круг площадь и длина");
        System.out.println(okrug.plosh());
        System.out.println(okrug.per());
                
        Pryam paral=new Paral(2,3,4,5,24);
        System.out.println("Пара-м периметр и площадь");
        System.out.println(paral.per());
        System.out.println(paral.plosh());
               
        Pryam trap = new Trap(4,2,3,4,5,6);
        System.out.println("Трапеция периметр и площадь");
        System.out.println(trap.per());
        System.out.println(trap.plosh());
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
abstract public class Fig {
    final double PI = 3.14;
    
    int a;
    int b;
    
//  public Fig() {
//      System.out.println("параметры не заданы");
//  }
 
    public Fig() {
        
    }
    public Fig(int a, int b){
        this.a=a;
        this.b=b;
    }
 
    abstract public double per();
 
    abstract public double plosh();
    
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
public class Treug extends Fig {
int c; 
double d = 0; //угол
 
    // три стороны
    public Treug(int a, int b, int c) {
        super(a, b);
        this.c = c; 
    }
    // три стороны и угол
    public Treug(int a, int b, int c, double d) {
        super(a, b);
        this.c = c;
        this.d = d;
       
    }
 
    @Override
public double per(){
    return (double) (a+b+c);
 
}
    // если не задан угол - то первая формула, если задан - то вторая по двух сторонам и синусу угла
    @Override
   public double plosh(){
        if (d == 0) {
            return Math.sqrt(this.per() * (this.per() - a) * (this.per() - b) * (this.per() - c));
        } else {
       return ((a*b*Math.sin(d))/2);
        }
        
   }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
public class Pryam extends Fig {
int e;
int f;
    
    public Pryam(int a, int b, int c, int d) {
        super(a, b);
        this.e = c;
        this.f = d;
    }
    
    public Pryam(int a, int b) {
        super(a, b);
    }
    
    @Override
public double per(){
    return a + b + e + f; // чтобы было лучше понятно
}
    
    @Override
public double plosh(){
return a*b;
 
}}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
public class Okrug extends Fig{
    int r;
    
    public Okrug(int a) {
    r = a;    
    }
   
    @Override
   public double per(){
       return 2 * PI * r;
    }
 
    @Override
   public double plosh(){
       return PI * r * r;
   }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
public class Trap extends Pryam {
    double s;
    double z;
 
    public Trap(int a, int b, int e, int f, double s, double z) {
        super(a, b);
        this.s = s;
        this.z = z;
    }
 
    @Override
    public double per(){
        return  a+b+e+f;
    }
 
    @Override
    public double plosh(){
        return a * b * Math.sin(s);
    }
  
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
//package javaapplication1;
 
/**
 *
 * @author stud316
 */
public class Paral extends Pryam {
    double g; //угол
 
    // дано 4 стороны
    public Paral(int a, int b, int e, int f, double g) {
        super(a, b, e, f);
        this.g = g;
    }
 
    
    @Override
    public double per(){
        return a + b + e + f;
    }
    
    @Override
    public double plosh(){
        return (a*b*Math.cos(g));
    }
}
вот, держите, проверьте правильность формул и логики, если обнаружите недочеты - могу исправить, только укажите в какой метод какую формулу (или значения)
1
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
19.10.2012, 07:43  [ТС]
в треуг и трапеции площадь отрицательная((
а так огромное спасибо тебе))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2012, 07:43
Помогаю со студенческими работами здесь

Переопределение и перегрузка метода(в чём отличия?)
Объясните мне в чём различия между Переопределением и перегрузкой метода?? Ведь по сути это одно и тоже так? И в каких случаях эти...

Рефакторинг - Наследование и перегрузка
Всем привет! Написал код, чтобы потренироваться с перегрузкой и наследованием. Но мне кажется, что он громоздкий. Может есть способ...

Перегрузка\переопределение
перегрузка и переопределение стандартных операторов в классе это одно и то же или нет?

Наследование и переопределение методов
Здравствуйте, подскажите пожалуйста два момента: Создал виртуальный класс и потомок от него. TVehicle = class private FSpeed:...

Наследование,переопределение методов[рефлексия]
Раньше я практически не сталкивался с рефлексией, но теперь появилась острая проблема .Загружаю сборку с помощью Assembly.LoadFrom и мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru