wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Parcial PW G 1

Total questions: 20

Worksheet time: 5hrs 0mins

Name
Class
Date
1.

¿Cómo se imprimiría este vector, para que muestre todos el segundo valor?

$vector=array();

$vector[0]=a;

$vector[1]=b;

a)

echo $vector;

b)

echo $vector[0];

c)

echo $arreglo{0};

d)

echo $vector[1];

2.

En los atributos o variables en PHP ¿​ qué signo se le antepone?.

Comienza con el signo ​ ​_   , seguido del nombre de la variable

a)

#

b)

$

c)

!

d)

&

3.

¿Cuál de las siguientes afirmaciones es FALSA con respecto a

las características de la POO?

a)

aLa abstracción y el polimorfismo son característica esenciales de la

programación orientada a objetos

b)

Encapsulamiento es sinónimo de aislamiento

c)

En la POO, la modularidad, es la característica que permite dividir

una aplicación, en partes más pequeñas, con independencia unas de las

otras

d)

Todas las opciones son falsas

4.

Dado el siguiente código:

<?php

final class ItemProducto {

#...

}

class Producto extends ItemProducto {

#...

}

?>

¿Qué crees que fallaría al intentar ejecutarlo?

a)

No fallaría nada

b)

ItemProducto fallará ya que está heredando de otra clase

c)

Producto no puede heredar de ItemProducto ya que esta clase ha

sido declarada como clase final

d)

ItemProducto fallará ya que está heredando de otra interface

5.

¿Cuál crees que será la salida del siguiente código?

<?php

class Cliente {

static public $nombre_completo = 'Cliente desconocido';

protected $id = 1001;

}

print Cliente::$nombre_completo;

print Cliente::$id;

?>

a)

Cliente desconocido 1001

b)

Cliente desconocido

c)

Se imprimiría 1001 desconocido pero fallaría luego el acceso a $id

ya que es una propiedad protegida

d)

Se imprimiría Cliente desconocido pero fallaría luego el acceso a $id

ya que es una propiedad protegida

6.

Al realizar declaración de Clases abstractas

abstract class NombreDeMiClaseAbstracta {

#...

Podemos afirmar con certeza que:

a)

son aquellas que no necesitan ser complejas pero sin embargo,

será necesario el polimorfismo en algún momento. Se definen anteponiendo la palabra clave abstract

a class

b)

son aquellas que no necesitan ser instanciadas pero sin embargo,

serán heredadas en algún momento. Se definen anteponiendo la palabra clave abstract

a class

c)

son aquellas que no necesitan ser instanciadas pero sin embargo,

serán heredadas en algún momento. Se definen anteponiendo la palabra clave abstrac

a clas

d)

son aquellas que obligatoriamente necesitan ser encapsuladas

7.

class NombreDeMiClaseMadre {

#...

}

class NombreDeMiClaseHija extends NombreDeMiClaseMadre

En relación con la herencia de clases de acuerdo al contexto anterior, los desarrolladores tienen en cuenta que:

a)

Los objetos pueden heredar propiedades y métodos de otros objetos. Para ello, PHP

permite la “extensión” (herencia) de clases, cuya característica representa la relación

existente entre diferentes objetos. Para definir una clase como extención de una clase

“madre” se utiliza la palabra clave extends.

b)

Los objetos pueden heredar solo las propiedades de otros objetos. Para ello, PHP

permite la “extensión” (herencia) de clases, cuya característica representa la relación

existente entre diferentes objetos. Para definir una clase como extención de una clase

“madre” se utiliza la palabra clave extens.

c)

Los objetos pueden heredar los métodos de otros objetos. Para ello, PHP

permite la “extensión” (herencia) de clases, cuya característica representa la relación

existente entre diferentes objetos. Para definir una clase como extención de una clase

“madre” se utiliza la palabra clave implements.

d)

Los objetos NO pueden heredar propiedades y métodos de otros objetos. Para ello, PHP

permite la “extensión” (herencia) de clases, cuya característica representa la relación

existente entre diferentes objetos. Para definir una clase como extención de una clase

“madre” se utiliza la palabra clave class.

8.

De acuerdo a las siguientes lineas de programación es correcto afirmar que:

class Persona {

public $nombre;

public $genero;

}

a)

Las propiedades requieren de un poliformismo para lograr su adecuado funcionamiento

b)

Las propiedades publicas se definen anteponiendo la palabra clave private al nombre de

la variable. Éstas solo pueden ser accedidas por la clase que las definió.

c)

Las propiedades privadas se definen anteponiendo la palabra clave public al nombre de

la variable. Éstas, pueden ser accedidas desde cualquier parte de la aplicación, sin

restricción.

d)

Las propiedades públicas se definen anteponiendo la palabra clave public al nombre de

la variable. Éstas, pueden ser accedidas desde cualquier parte de la aplicación, sin

restricción.

9.

Al analizar el siguiente código, es correcto afirmar que:

class Persona {

public $nombre;

public $genero;

private $edad;

}

a)

Las propiedades protegidas pueden ser accedidas por la propia clase que la definió, así

como por las clases que la heredan, pero no, desde otras partes de la aplicación. Éstas,

se definen anteponiendo la palabra clave protected al nombre de la variable

b)

Las propiedades privadas se definen anteponiendo la palabra clave private al nombre de

la variable. Éstas solo pueden ser accedidas por la clase que las definió

c)

La abstracción es un proceso complejo al momento de declarar variables o tributos.

d)

Las propiedades protegidas se definen anteponiendo la palabra clave private al nombre de

la variable. Éstas solo pueden ser accedidas por la clase que las definió

10.

# declaro la clase

class Producto {

#defino algunas propiedades

public $nombre;

public $precio;

protected $estado;

#defino el método set_estado_producto()

protected function set_estado_producto($estado) {

$this->estado = $estado;

}

# constructor de la clase

function __construct() {

$this->set_estado_producto('en uso');

}

}

Al realizar la codificación anterior, puedo afirmar que:

a)

el constructor de la clase inicializa y se encarga de definir el estado del producto como “en

uso”, antes de que el objeto (Producto) comience a utilizarse. Si se agregaran otros métodos, éstos, podrán

hacer referencia al estado del producto, para determinar si ejecutar o no determinada función. Por

ejemplo, no podría mostrarse a la venta un producto “en uso por el sistema”, ya que a éste, se le podría

estar modificando el precio.

b)

Las clases creadas requieren de un polimosfismo para la ejecución óptima del programa

c)

El método construct() es aquel que es encapsulado para el funcionamiento del programa.

d)

el constructor de la clase se encarga de modificar el estado del producto como “en

uso”, antes de que el objeto (Producto) comience a utilizarse. Si se agregaran otros métodos, éstos, podrán

hacer referencia al estado del producto, para determinar si ejecutar o no determinada función. Por

ejemplo, no podría mostrarse a la venta un producto “en uso por el sistema”, ya que a éste, se le podría

estar modificando todo el programa

11.

Teniendo en cuenta el siguiente código:

<?php

class Cliente {

static public $nombre_completo = 'Cliente desconocido';

protected $id = 1001;

}

?>

¿Cuál de las siguientes opciones, estimas que sería la

apropiada para imprimir en pantalla, la propiedad

"nombre_completo"

a)

print Cliente::nombre_completo;

b)

print Cliente::$nombre_completo;

c)

$cliente = new Cliente();

print $cliente->nombre_completo;

d)

$cliente = new Cliente();

print $cliente->$nombre_completo;

12.

¿Cuál de las siguientes afirmaciones es verdadera?

a)

Las interfaces no pueden definir propiedades

b)

Todos los métodos declarados en una interface deben ser públicos

c)

Las interfaces no pueden instanciarse porque no tienen referencias

asociadas a objetos

d)

Las interfaces no pueden tener métodos definidos con su algoritmo

correspondiente

e)

Todas las opciones son correctas

13.

¿Cuál es el error del siguiente código?

interface Producto { }

class Producto implements Producto { }

a)

La clase no puede tener el mismo nombre que la interface

b)

Ni la clase ni la interface tienen código

c)

No hay errores

d)

La primera y segunda opción son válidas

14.

¿Cuál es el error en el siguiente código?

interface Producto { }

class Bebida implements Producto { }

a)

Ni la clase ni la interface tienen código

b)

No se encapsula

c)

No hay errores

15.

¿cuál es la diferencia entre una interface y una clase

abstracta?

a)

A diferencia de las clases abstractas, conceptualmente, las interfaces son solo un

conjunto de métodos característicos de diversas clases, independientemente de la

relación que dichas clases mantengan entre sí. De hecho, una misma clase, puede

implementar múltiples interfaces.

b)

No hay diferencias

c)

A diferencia del encapsulamiento, conceptualmente, las clases son solo un

conjunto de métodos característicos de diversas clases, independientemente de la

relación que dichas clases mantengan entre sí. De hecho, una misma clase, puede

implementar múltiples interfaces.

16.

interface Postre {

public function set_ingredientes();

}

Implementamos la interface:

class Bizcochuelo implements Postre {

var $ingredientes = array();

public function set_ingredientes() {

$this->ingredientes = array('harina'=>'2 tazas', 'leche'=>'1 taza',

Teniendo en cuenta las anteriores lineas de código, podemos afirmar que:

a)

Un método se define utilizando la palabra clave public y se la implementa utilizando

la palabra clave extends.

b)

Una clase tiene que ser abstracta para poder ejecutar la parte mostrada en el programa

c)

No hay clases implementadas

d)

Una interface se define utilizando la palabra clave interface y se la implementa utilizando

la palabra clave implements.

17.

¿Cuál es la importancia de la encapsulación en la programación orientada a objetos?

a)

es importante para crear jerarquías de clases.

b)

es importante para proteger los atributos de una clase y permitir el acceso controlado a ellos

c)

para mejorar el rendimiento de los programas.

d)

es importante para proteger los solo los métodos y permitir el acceso controlado a ellos

18.

¿Qué es el polimorfismo en la programación orientada a objetos? Es la capacidad de:

a)

heredar los atributos y métodos de otra clase.

b)

de una clase de ocultar los atributos y métodos de otra clase.

c)

La capacidad de una clase de acceder a los atributos y métodos privados de otra clase.

d)

apartir de una clase de utilizar varios métodos con el mismo nombre pero con diferentes parámetros.

19.

Todo desarrollador PHP debe conocer, esto porque le permitirá demostrar que puede ser capaz de construir aplicaciones, además de escribir códigos. Sin embargo, es necesario entender la accesibilidad y privilegios de este código.

Lo anterior hace referencia :

a)

Las clases abstractas

b)

Encapsulamiento

c)

Es un error dado que se habla es de abstracción

d)

Polimosftimo

20.

¿Qué son los getters y los setters y por qué son importantes?

a)

Los Getters y Setters son métodos que se utilizan para obtener los valores que tienen las variables. En su mayoría son privadas, además de importantes, ya que, permiten una localización central, capaz de conducir a los datos declarados o reenviarlos al desarrollador.

b)

Los Getters y Setters son interfaces que se utilizan para obtener los valores que tienen los metodos. En su mayoría son privadas, además de importantes, ya que, permiten una localización central, capaz de conducir a los datos declarados o reenviarlos al desarrollador.

c)

Los Getters y Setters son comandos que se utilizan para modificar y acceder de manera pública a los obtener los valores que tienen las variables.

d)

Los Getters y Setters son elementos fundamentales para que funcionen los métodos.