Virtual,abstract .NET

di il
48 risposte

48 Risposte - Pagina 2

  • Re: Virtual,abstract .NET

    Portabilità vuol dire che il linguaggio è sempre lo stesso e non ne esistono versioni differenti. Il C++ è sempre lo stesso sia se uni un compilatore sotto Windows o un altro sotto Linux o un altro ancora per Mac.
    In Net framework invece sono state aggiunte delle estensioni che sono valide solo li, a questo punto non è più C++, si tiene i difetti del C++ e ne perde i pregi. Il C# ripartendo da zero elimina alcune cose che in C++ erano scomode ed aggiunge tutto ciò che serve sotto NetFramework.
  • Re: Virtual,abstract .NET

    A ecco, quindi un consiglio, conviene spendere tempo per il visual c++?viene usato?
  • Re: Virtual,abstract .NET

    Guarda su questo punto non ho dubbi, la risposta è: assolutamente no!

    Tra l' altro vedrai che la maggioranza degli esempi e della documentazione è in C# e Visual Basic, se usi il C++ avrai pure difficoltà a trovare informazioni. Inoltre la sintassi del C++ è molto più ostica di quella del C#, basti pensare all' uso della freccia -> al posto del punto o al mantenimento della complicazione dei .h
  • Re: Virtual,abstract .NET

    Perchè in C# non si usano i .h?
    e poi perchè dici "mantenimento della complicazione dei .h", è una cosa negativa?
  • Re: Virtual,abstract .NET

    Personalmente comprendo uno sviluppatore C++ che dovendo passare all'ambiente .NET Framework sceglie C++.NET per facilitarsi il passaggio.
    Tanti sviluppatori Visual Basic 6.0 per esempio hanno trovato in VB.Net la via più facile per passare a .Net e non farsi tagliare fuori dal mercato lavorativo.
    Esistono altri linguaggi per .Net come J# (che preferisco meglio pronunciare java sharp ), F#, ecc

    La maggior parte degli applicativi .Net che ho visto, cos'ì come gli sviluppatori che ho avuto modo di conoscere in ambito .Net usano C# o VB.NET.
    A tal proposito ti consiglio di adottare uno dei due linguaggi di cui sopra e se possibile meglio conoscerli entrambi.
  • Re: Virtual,abstract .NET

    No, in C# i .h non ci sono (in questo ha preso da Java).
    I .h quando ci si mettono possono diventare un incubo! (sto esagerando, ma non troppo), comunque sono una scomodità devi ripetere la firma dei metodi 2 volte.
  • Re: Virtual,abstract .NET

    In C# usano le DLL come in VB.net?

    quindi toki, in poche parole visual c++ non serve a niente(per non dire altro )?
  • Re: Virtual,abstract .NET

    Non ho detto che non serve a niente. Ho detto che la maggior parte degli sviluppatori .NET si distribuiscono tra C# e VB.net.
  • Re: Virtual,abstract .NET

    Io invece mi sbilancio un po di più e te lo sconsiglio vivamente. Tieni presente che conosco molto bene ed amo il C++, ma in .NetFramework proprio no!
  • Re: Virtual,abstract .NET

    barba59 ha scritto:


    Portabilità vuol dire che il linguaggio è sempre lo stesso e non ne esistono versioni differenti. Il C++ è sempre lo stesso sia se uni un compilatore sotto Windows o un altro sotto Linux o un altro ancora per Mac.
    In Net framework invece sono state aggiunte delle estensioni che sono valide solo li, a questo punto non è più C++, si tiene i difetti del C++ e ne perde i pregi. Il C# ripartendo da zero elimina alcune cose che in C++ erano scomode ed aggiunge tutto ciò che serve sotto NetFramework.
    un dubbio su quello che ha detto barba, ma perché quali linguaggi cambiano in base al SO?
  • Re: Virtual,abstract .NET

    Con l' imporsi degli standard ISO e ANSI la situazione è cambiata ma una volta c' era una vera babele di linguaggi, ogni produttore scriveva una sua versione personale di un linguaggio, vi erano diverse versioni di Pascal, di Basic, di C ecc.

    Comunque anche al giorno d' oggi c' è chi aggiunge estensioni ai linguaggi, ad esempio il compilatore C++ della Miscrosof aggiunge un sacco di parole chiave , ovviamente se vuoi un programma portabile le devi evitare.
  • Re: Virtual,abstract .NET

    Quindi in pratica se uno ha un programma portatile basta ricompilarlo su un'altra piattaforma(mac os,linux,windows ecc..) e si ha lo stesso programma,ho capito bene? mentre se non è portatile bisogna riscriverlo da capo(o alcuni pezzi) perchè ad esempio il compilatore non supporta tutte le parole chiavi
  • Re: Virtual,abstract .NET

    Scusate,ritornando al discorso su abstract e interfacce ho visto una cosa che non mi quadra,cioè:

    sulla documentazione microsoft c'è scritto che la classe Array è abstract, però poi sotto c'è un esempio di uso di quest'ultima ,eccolo:
    
    Array myArr=Array.CreateInstance(typeof(Int32),2,3,4);
    
    perchè usa la classe Array anche se è abstract?
  • Re: Virtual,abstract .NET

    Ad un puntatore ad una classe base puoi assegnare l' indirizzo di una classe derivata. È il concetto alla base del polimorfismo di cui abbiamo già discusso.

    Se guardi bene non istanzi un Array ma richiami un metodo CreateInstance il quale crea un derivato di Array ma lo restituisce come se fosse un Array. Infatti se esamini col debugger il tipo ritornato vedrai che non è un System.Array ma un System.Array{int[,,]}

    I metodi tipo CreateInstance vengono chiamati Factory Metods, se se curioso butta un occhio ai Design Patterns (se ti interessa la programmazione ad oggetti li devi conoscere).
  • Re: Virtual,abstract .NET

    Se io ho:
    
    figura x=new rettangolo();
    
    x è di tipo figura e non rettangolo(se non sbaglio ovvio), quindi io istanzio figura e non rettangolo, e se figura è abstract come funziona il tutto? questo non mi quadra
Devi accedere o registrarti per scrivere nel forum
48 risposte