InformáticaProgramación

OLP - o que é iso? Os principios básicos da programación orientada a obxectos

Por programación orientada a obxectos é o preferido na maioría dos proxectos? Plo ofrece un xeito eficaz de xestionar a súa complexidade. No canto de considerar un programa como unha secuencia de instrucións executables, represéntase como un grupo de obxectos con certas propiedades e producir los con determinadas accións. Isto resulta nunha aplicacións máis clara, máis fiables e legkosoprovozhdaemyh.

Os principios básicos da programación orientada a obxecto (OOP) formado por que as restricións foron atopados en enfoques preexistentes. Entre eles - acceso ilimitado aos datos e un gran número de conexións, que impoñen restricións á mudanza. A súa conciencia e causas importante entender o que a programación OOP e cales son as súas vantaxes.

linguaxes procedurais

C, Pascal, Fortran, e linguas semellantes son procedemento. É dicir, cada un co seu operador di ao ordenador para facer algo: para obter os datos, sumar os números, divididos en seis, o resultado presentado. linguaxe procedural apéndice é lista de instrucións. Se é pequeno, ningún principio organizador outra (moitas veces referido como un paradigma) non é necesaria. O programador crea unha lista de instrucións, eo ordenador executa-los.

Separación de funcións

Cando as aplicacións se fan lista máis complicado de voltas. Poucos poden comprender máis que algúns centenares de instrucións ata que sexan agrupados. Por esta razón, a función era a forma de facer a aplicación máis comprensible para os seus creadores. Nalgunhas linguas, o mesmo concepto pode ser chamado subrutinas ou procedementos.

A aplicación divídese en funcións, cada un dos cales ten un propósito e unha interface claramente definida.

A idea de separación de procedementos pode ser ampliada en unha agrupación máis de obxecto chamado un módulo, pero o principio é análogo: a agrupación de compoñentes que cargar listas de documento.

Separación de funcións e módulos - unha das pedras angulares da programación estruturada, que por varias décadas ata que a OLP foi que pon paradigma.

problemas de programación estruturada

Como as aplicacións se fan maiores, programación estruturada empezando a probar dificultades. Proxectos facerse demasiado complexa. desprazou gráficos. Trátase de un gran número de desenvolvedores. A complexidade creceu. Custos tirando para arriba, o calendario foi desprazado aínda máis, e houbo colapso.

Análise das causas de fallos revelou deficiencias paradigma procesual. Independentemente de quão ben estruturada visión de programación aplicada, grandes aplicacións fan a excesivamente complexa.

Cales son as causas destes problemas asociados con linguaxes procedurais? En primeiro lugar, as funcións teñen acceso ilimitado aos datos globais. En segundo lugar, os procedementos non relacionados e os valores malas simular o mundo real.

Se consideramos estas cuestións no contexto do programa de contabilidade de inventario, un dos elementos máis importantes do global de datos é un conxunto de SKUs. Distintas funcións poden referirse a eles para introducir un novo valor, el aparece, cambios e así. D.

acceso ilimitado

O programa de escritura, por exemplo, en C, existen dous tipos de datos. Lugar oculto dentro da función e outros procedementos non son utilizados.

Cando dúas ou máis funcións teñen acceso aos mesmos datos, este último debe ser global. Tal é, por exemplo, son tomadas en conta a información sobre os temas. Os datos globais pode ser calquera procedemento dispoñible.

Nun gran programa, existen moitos recursos e moitos elementos globais. O problema do paradigma procesual é que leva a un maior número de potenciais conexións entre eles.

Tal un gran número de conexións provoca varias dificultades. En primeiro lugar, ela complica a comprensión da estrutura do programa. En segundo lugar, difícil de cambiar. Cambio no elemento de datos global pode requirir axuste de todas as funcións que teñen acceso a ela.

Por exemplo, no programa de contabilidade alguén decide que código obxecto representaron debe consistir non de 5 díxitos, e de 12. Isto vai esixir un cambio do tipo de datos de curto para longo. Agora asociado co código de función debe ser modificado para traballar co novo formato.

Cando os elementos son modificados en aplicación máis, é difícil dicir cales son os procedementos teñen acceso a eles. Pero, aínda que esta figura, cambia-los pode producir operación incorrecta con outros datos globais. Todo está conectado con todo o máis, entón un cambio nun lugar saír pola culata noutro.

Modelando o mundo real

O segundo e máis importante problema do paradigma procesual é que a súa situación específica de datos e funcións mal simula as cousas no mundo real. Aquí estamos lidando con obxectos como persoas ou coches. Son como os datos ou a función. Complexas obxectos do mundo real teñen atributos e comportamentos.

atributos

Exemplos de atributos (ás veces chamados de propiedades) para as persoas son a cor dos ollos eo nome do post, para un coche - o poder eo número de portas. Como se viu, os atributos do mundo real equivalentes aos datos no programa. Teñen valores específicos, como o azul (cor de ollos) ou catro (o número de portas).

comportamento

Comportamento - é que os obxectos do mundo real son producidas en resposta a algún tipo de impacto. Se preguntar a un xefe de aumento salarial, a resposta é "si" ou "non". Se preme o freo, o coche vai parar. E deixar os comportamentos enunciado son exemplos. Comportamento semellante ao procedemento: é chamado para facer algo, e fai iso. Así, os datos e as funcións por si só non modelar obxectos do mundo real de forma eficiente.

dirixindo

O obxecto en OOP é representada como un conxunto de datos e funcións. Só os procedementos que son chamadas de funcións membro en C ++, para permitir obter o seu valor. Estes son escondidos e protexidos contra cambios. Significados e funcións son encapsuladas nun. Encapsulamento e upryatyvanie - termos básicos na descrición das linguaxes orientadas a obxecto.

Se desexa modificar os datos, el sabe o que funcións interactuar con eles. Non hai outros procedementos non poden acceder a eles. Isto simplifica a escrita, depuración e mantemento do programa.

Unha aplicación consiste tipicamente en varios obxectos, que interactúan un co outro, facendo que o mandato dos membros.

Hoxe, a OOP máis amplamente utilizado linguaxe (programación orientada a obxectos) - C ++ (plus plus). En Java carece dalgúns recursos como punteiros, modelos e herdanza múltiple, o que fai menos potente e versátil que C ++. C # non alcanzou a popularidade do C ++.

Debe notarse que os chamados funcións membro en métodos C ++ chamado nalgúns outros idiomas orientada obxectos tales como Smalltalk. Os elementos de datos son chamados atributos. Chamar un método do obxecto está enviándolle mensaxes.

analoxía

Podes imaxinar os obxectos dos departamentos da empresa. Na maioría das organizacións, os funcionarios non traballar un día co equipo, o seguinte salario sobrecarga, e despois dunha semana implicados no comercio polo miúdo. Cada departamento ten o seu propio persoal, con deberes claramente atribuídas. Hai propios datos: Indicadores de salarios, vendas, contabilidade persoal, etc. As persoas nos departamentos traballan coa súa información ... A división da empresa, polo tanto, facilita o control das súas operacións e mantén a integridade dos datos. Contabilidade é responsable da folla de pagamento. Se quere saber a cantidade total de salarios pagados a parte sur en xullo, non precisa mergullo no ficheiro. É o suficiente para enviar unha nota para a persoa responsable, agardar a que a persoa ten acceso aos datos e envía a resposta a información solicitada. Isto asegura a conformidade coas normas ea ausencia de interferencia externa. Do mesmo xeito un obxecto no Plo ofrece aplicación organización.

Debe lembrar que a orientación dos obxectos non se aplica aos detalles do programa de traballo. A maioría das instrucións C ++ operadores corresponde aos idiomas procedemento, como C. De feito, as funcións de membro en C ++ son moi semellantes ás funcións en C. Só o contexto máis amplo permitirá establecer obxecto-orientado a instrución procesual ou.

O obxecto en OOP: Definición

Ao considerar o problema de programación en linguaxe orientada a obxectos no canto de preguntas sobre a súa división en funcións distintas é un problema nas instalacións de separación. OOP pensamento é moito máis fácil desenvolver aplicacións. Isto é debido á similaridade de software e obxectos reais.

Que tipo de cousas son obxectos en OOP? Aquí están algunhas categorías típicas.

obxecto físico en OOP - é:

  • modelos de fluxo de transporte
  • compoñentes eléctricos nos programas de deseño de circuíto;
  • modelo de economía do país;
  • aeronaves no sistema de control de tráfico aéreo.

Elementos do contorno do ordenador do usuario:

  • menú;
  • fiestras;
  • gráficos (liña, rectángulo, círculo);
  • unidades teclado, rato, impresora, disco.

persoas:

  • traballadores;
  • estudantes;
  • clientes;
  • vendedores.

información:

  • libro mantemento;
  • un asunto privado;
  • dicionario;
  • táboa de latitudes e lonxitudes de asentamentos.

Comunicación de obxectos do mundo real ea OLP foi o resultado dunha combinación de funcións e datos que revolucionaron a programación. Tal estreita correspondencia en linguaxes procedurais alí.

clase

Obxectos no Plo - un membro da clase. O que significa? As linguaxes de programación teñen built-in tipo de datos. Tipo int, t. E. Un número enteiro que é predeterminada en C ++. Pode declarar calquera número de int variables.

Do mesmo xeito, unha pluralidade de obxectos definido por unha clase. El define as funcións e os datos incluídos nas súas instalacións, non crealos, así como un int non crear variables.

Clase no Plo - unha descrición dun número de obxectos semellantes. Prince, Sting e Madonna son os cantantes. Non hai ninguén con ese nome, pero a xente pode ser chamado así, se eles teñen as características adecuadas. OOP obxecto - neste caso.

herdanza

Na vida, as clases son divididas en subclasses. Por exemplo, os animais son divididos en anfibios, aves, mamíferos, insectos e así por diante. D.

O principio deste tipo de división é que cada subclasse ten características comúns coa clase da cal a. Todos os coches teñen rodas e un motor. Esta é as características definidoras dos vehículos. Ademais das características xerais de cada subclasse ten as súas propias características. Hai moitos asentos de autobuses e camións teñen o espazo para transportar cargas pesadas.

Do mesmo xeito, unha clase de base pode ser unha subclase matriz varios derivados que poden ser definidos de xeito que eles van compartir as súas propias características, coa adición. Herdanza como funcións, simplificando programa procesual. Varias partes do código está facendo practicamente o mesmo, pode extraer os elementos comúns e poñer-los nun procedemento. Tres área de aplicación pode chamar a función para executar accións comúns, pero poden producir e as súas propias operacións. Do mesmo xeito, a clase de base contén información común para o grupo de derivados. Unha función semellante reduce a herdanza de programa orientada a obxectos e aclarar a relación dos seus elementos.

reciclaxe

Xa que a clase é creado e depurado, pode ser trasladado a outros programadores para a reutilización nos seus propios programas. É como unha biblioteca de funcións que se poden incluír en diferentes aplicacións.

En OOP, a herdanza é unha extensión da idea de uso múltiple. A partir dunha clase existente, sen cambia-lo, podemos formar un novo coa adición de outras funcións. A facilidade de reutilización de software existente - unha vantaxe importante da OLP. Crese que el ofrece unha rendibilidade crecente do investimento inicial.

A creación de novos tipos de datos

Instalacións adecuadas para a creación de novos tipos de datos. Supoñamos que un programa usa valores bidimensionais (por exemplo, coordenadas ou latitude e lonxitude), e teñen un desexo de expresar a acción da aritmética sobre eles:

posição1 = posición + orixe,

onde posição1, posición e orixe - un par de valores numéricos independentes. Creando unha clase que inclúe estes dous valores, e declaracións de variables dos seus obxectos crea un novo tipo de datos.

Polimorfismo, sobrecarga

Operadores = (iguais), e + (máis) utilizados na aritmética posicional enriba non actúan así como un embutido tipos, como int. colocar obxectos, e outros. Non son predeterminado é definido por software. Como é que estes operadores saben como tratar con eles? A resposta reside no feito de que novos comportamentos pode definirse por eles. Estas operacións serán membro funcións Clase Posición.

Usando operadores ou procedementos, dependendo do que está a traballar é chamado polimorfismo. Cando hai un operador, como + ou =, ten a oportunidade de traballar co novo tipo de datos, el di que está resaltado. Sobrecarga na OLP - unha especie de polimorfismo. É a súa característica importante.

Un libro sobre a "Programación Orientada a Obxectos for Dummies" Plo permitirá que todos poidan familiarizarse con este tema en máis detalles.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 gl.unansea.com. Theme powered by WordPress.