-
Data: 2022-07-19 19:03:41
Temat: Re: Rynek pracy STM32
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 19/07/2022 18:55, Janusz wrote:
>> A co konkretnie nie ma nic wspólnego?
> To
> "Ale to jak ona jest faktycznie realizowana zależy od tego pliku h
> o wspólnej nazwie dla wszystkich projektów a tam jest informacja
> jaki procesor i jak jest podłączony dla danej wersji płytki."
>
> z tym
>
> "Tak. To statyczny polimorfizm."
Bo to statyczny polmirfizm. Masz abstrakcyjną klasę ModBus, która nie
musi wiedzieć z jakiego UARTu i na jakim cpu będzie korzystać. Dowiaduje
się w momencie specjalizacji szablonu, podczas kompilacji, gdzie
nastepuje konkretyzacjia wszyskiego, na stałe. Dlatego statyczny.
> To jest konfiguracja sprzętowa a polimorfizm
Ah, czyli czepiasz się definicji? Tak, konfiguracja sprzętowa jest
*polimorficzna*, bo masz kilka klas realizujących na rózne sposoby ten
sam interfejs hardwareowy.
> to
> "Polimorfizm (z gr. wielopostaciowość) - mechanizmy pozwalające
> programiście używać wartości, zmiennych i podprogramów na kilka różnych
> sposobów[1]. Inaczej mówiąc jest to możliwość wyabstrahowania wyrażeń od
> konkretnych typów[2]."
Tak jak abstrakcja ModBus wyabstrahowana od konkretnego UARTu.
> metody, procedury. W niektórych językach niektóre operatory lub funkcje
> są przeciążone, ale programista nie może ich dodatkowo dociążać lub
> przeciążać własnych."
No patrz, moje wszystkie klasy UART mają metodę "sendChar( char c);
Natomiast:
template< class _Uart >
class ModBus;
ma gdzieś w metodzie, daleko w środku:
template< class _Uart >
ModBus< _Uart >::sedFrame( ... ) {
[...]
m_uart.sendChar( foo );
[...]
}
i gdzieś daleko mam taki ModBus< STM32UART0 > modbus;
To, że nie widzisz tu polimorfizmu, to nie znaczy, że go tam nie ma. C++
to trudna rzecz.
Następne wpisy z tego wątku
- 19.07.22 19:04 Janusz
- 19.07.22 19:05 heby
- 19.07.22 19:09 heby
- 19.07.22 19:13 Piotr Gałka
- 19.07.22 19:31 Piotr Gałka
- 19.07.22 20:01 heby
- 19.07.22 20:08 Piotr Gałka
- 19.07.22 20:21 heby
- 19.07.22 20:40 Janusz
- 19.07.22 20:41 Janusz
- 19.07.22 20:43 Janusz
- 19.07.22 20:46 Janusz
- 19.07.22 20:50 Janusz
- 19.07.22 20:54 Piotr Gałka
- 19.07.22 20:56 heby
Najnowsze wątki z tej grupy
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
Najnowsze wątki
- 2025-05-23 Gdańsk => Programista Delphi <=
- 2025-05-23 Warszawa => Senior Key Account Manager IT <=
- 2025-05-23 Zielonka => Key Account Manager IT <=
- 2025-05-23 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-05-23 Elektrozawór do tlenu
- 2025-05-23 Białystok => NMS System Administrator <=
- 2025-05-23 Warszawa => Cloud Engineer (Azure) <=
- 2025-05-23 Warszawa => Inżynier cloud (Azure) <=
- 2025-05-23 Warszawa => Programista Full Stack .Net <=
- 2025-05-23 Warszawa => Software .Net Developer <=
- 2025-05-23 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-23 Warszawa => Starszy Programista C <=
- 2025-05-23 Polskie Obserwatorium Bezpiecze?stwa Ruchu Drogowego (POBR) mapa wypadk??w
- 2025-05-23 Warszawa => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-23 Warszawa => International Freight Forwarder <=